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

XSL/XSLT/XPATH XML Discussion :

xml.xlst for each selectionner que les enfants


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    xml.xlst for each selectionner que les enfants
    Bonjour,

    Je cherche depuis un petit moment comment corrigé mon fichier xml.xlst afin de lire les enfants uniquement de ma liste dans mon for each mais je n'ai arrive pas, j'ai a chaque l'ensemble de mes données et je ne comprend pas pourquoi ?

    J'ai par exemple un fichier xml avec une liste de client et pour chaque client sa liste de course. Je voudrais obtenir un autre fichier xml qui respecte le format que je cherche avec mes informations sauf que ma liste de course et cumulé pour chacun de mes clients.

    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
    41
     Ex XML 
      <Client>
        <Id>1234</Id>
        <Adresse>Ma petite rue de campagne</Adresse>
        <Nom>Dupond</Nom>
        <Prenom>Martial</Prenom>
    	<Courses>
          <Produit>
            <Article>REF1452</Article>
            <Couleur>Rouge</Couleur>
            <Quantite>1</Quantite>
            <Prix>40</Prix>
          </Produit>
          <Produit>
            <Article>REF123</Article>
            <Couleur>Bleu</Couleur>
            <Quantite>2</Quantite>
            <Prix>20</Prix>
          </Produit>
        </Courses>
      </Client>
      <Client>
        <Id>4710</Id>
        <Adresse>Mon adresse a moi</Adresse>
        <Nom>Durant</Nom>
        <Prenom>Charle</Prenom>
        <Courses>
          <Produit>
            <Article>REF789</Article>
            <Couleur>Jaune</Couleur>
            <Quantite>3</Quantite>
            <Prix>150</Prix>
          </Produit>
          <Produit>
            <Article>REF150</Article>
            <Couleur>Gris</Couleur>
            <Quantite>5</Quantite>
            <Prix>10</Prix>
          </Produit>
        </Courses>
      </Client>


    Mon fichier xml.xsld me renvoi les informations suites
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    <?xml version="1.0" encoding="utf-8"?>
    <RecapCommande>
      <Commande>
        <Nom>Dupond</Nom>
        <Prenom>Martial</Prenom>
        <Adresse>Ma petite rue de campagne</Adresse>
        <Articles>
          <Produit>
            <Article>REF1452</Article>
            <Couleur>Rouge</Couleur>
            <Quantite>1</Quantite>
            <Prix>40</Prix>
          </Produit>
    	  <Produit>
            <Article>REF123</Article>
            <Couleur>Bleu</Couleur>
            <Quantite>2</Quantite>
            <Prix>20</Prix>
          </Produit>
    	  <Produit>
            <Article>REF789</Article>
            <Couleur>Jaune</Couleur>
            <Quantite>3</Quantite>
            <Prix>150</Prix>
          </Produit>
    	  <Produit>
            <Article>REF150</Article>
            <Couleur>Gris</Couleur>
            <Quantite>5</Quantite>
            <Prix>10</Prix>
          </Produit>
    	 </Articles>
      </Commande>
      <Commande>
        <Nom>Durant</Nom>
        <Prenom>Charle</Prenom>
        <Adresse>Mon adresse a moi</Adresse>
        <Articles>
          <Produit>
            <Article>REF1452</Article>
            <Couleur>Rouge</Couleur>
            <Quantite>1</Quantite>
            <Prix>40</Prix>
          </Produit>
    	  <Produit>
            <Article>REF123</Article>
            <Couleur>Bleu</Couleur>
            <Quantite>2</Quantite>
            <Prix>20</Prix>
          </Produit>
    	  <Produit>
            <Article>REF789</Article>
            <Couleur>Jaune</Couleur>
            <Quantite>3</Quantite>
            <Prix>150</Prix>
          </Produit>
    	  <Produit>
            <Article>REF150</Article>
            <Couleur>Gris</Couleur>
            <Quantite>5</Quantite>
            <Prix>10</Prix>
          </Produit>
    	 </Articles>
      </Commande>
    </RecapCommande>


    Tous mes articles sont présent a chaque client au lieu d'avoir les articles propres a me client

    Pour ma transformation j'ai mi le for each de cette façon : <xsl:for-each select="/Client/Courses/Produit"> j'ai essayé de compléter avec une * mais visible la syntaxe est mauvaise.

    Auriez vous une idée du problème si vous plais ?

  2. #2
    Modérateur

    Hello,

    oui, le problème c'est que tu ne montres ni ton code, ni un exemple de ce que tu veux avoir. C'est assez mauvais signe, pour quelqu'un qui essaie d'utiliser des outils de développement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

###raw>template_hook.ano_emploi###