IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

remplacer caractère par un autre


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 88
    Points : 44
    Points
    44
    Par défaut remplacer caractère par un autre
    Bonjour,

    Je cherche à modifier des caractères.
    Je récupère les 220 premiers caractères d'un contenu que je met dans ma varibale "BodyTemp".
    Dans le contenu que je récupère, je voudrai le nettoyer. Dans le sens où j'ai parfois par exemple des balises <br/> ou <strong>.
    Je voudrai remplacer ces balises <br/> par rien, les supprimer de ma chaine de caractère. Je ne connais pas bien le xsl et je sèche là. Si quelqu'un pouvait me filer un coup de main, merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:include href="XSLTerrFunctions.xsl"/>
     
    <xsl:template match="/">
    <xsl:for-each select="businessList/business">
     
    [p style="text-align:left;"]
     
      [a class="bourse" href="business_line.asp?Bus=<xsl:value-of select="@code"/>"  style="line-height:1.4em; font-size:7,5px;"]
      	[strong]
     		 <xsl:value-of select="@label"/>
    	[/strong]
      [/a]
     
     [br/]
     
      [a class="texte" href="business_line.asp?Bus=<xsl:value-of select="@code"/>" style="line-height:1.4em; font-size:7,5px;"]
     
    	<xsl:variable name="BodyTemp">
    		<xsl:value-of select="substring(body,0,220)"/>
    	</xsl:variable>
     
    	<xsl:if test="contains($BodyTemp,'&lt;img') or contains($BodyTemp,'&lt;a')">
      		<xsl:value-of select="substring-before($BodyTemp,'&lt;')"/>
     	</xsl:if>
     
     
      	<xsl:if test="not(contains($BodyTemp,'&lt;img') or contains($BodyTemp,'&lt;a'))">
      		<xsl:value-of select="$BodyTemp"/>
     	</xsl:if>
     
    	...
      [/a]
     
    [/p]
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>

  2. #2
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    un fichier xslt qui devrait fa

  3. #3
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    un fichier xslt qui devrait faire ce que tu souhaites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transfor    m">
    <xsl:output 
     encoding="ISO-8859-15"
     method="xml"
     indent="yes" />
     
    <xsl:template match="node() | @*">
     <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
     </xsl:copy>
    </xsl:template>
     
    <xsl:template match="br"/>
     
    <xsl:template match="strong">
      <xsl:apply-templates select="@* | node()"/>
    </xsl:template>
     
     
    </xsl:stylesheet>

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 88
    Points : 44
    Points
    44
    Par défaut
    Je comprends ce que tu veux faire, tu veux récupérer le noeud 'strong' et le remplacer, mais je crois que moi je récupère une chaine de caractère, du coup sans noeud sauf si je me trompe ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 88
    Points : 44
    Points
    44
    Par défaut
    Personne ne peut m'aider ?

  6. #6
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    bon je n'ai peut etre pas compris ce que tu souhaites.
    Pour moi tu veux supprimer toutes les balises <br/> d'un document ainsi que les balises strong
    donc avec un fichier xml de ce type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html>
    <body>
    <h1>voila un titre</h1><br/>
    et du <strong>gras</strong><br/>
    </body>
    </html>
    et avec ma feuille de style tu obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html>
    <body>
    <h1>voila un titre</h1>
    et du gras
    </body>
    </html>

Discussions similaires

  1. [AC-2010] Remplacer caractères par d'autres dans une chaîne
    Par Invité dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/05/2011, 11h03
  2. Réponses: 3
    Dernier message: 21/07/2007, 01h48
  3. Remplacer un caractère par un autre
    Par cybkilla dans le forum Sybase
    Réponses: 3
    Dernier message: 08/01/2007, 15h42
  4. JSP : comment remplacer une chaine de caractères par une autre
    Par techquos dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/12/2006, 09h37
  5. Réponses: 8
    Dernier message: 15/07/2006, 18h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo