Partage
  • Partager sur Facebook
  • Partager sur Twitter

[xml] récupérer XmlNodeList à partir d'un

XmlNode

Sujet résolu
    22 juin 2011 à 18:16:02

    Bonjour,

    J'ai un petit soucis avec mon xml: je récupère d'abord mes nodes "c:PhoneNumber". j’obtiens bien un tableau de nodes comprenant 3 cases avec le bon contenu. Par contre lorsque je fais la même opération pour récupérer les nodes "c:label" dans chaque node récupérée précédemment, il va me chercher toutes les nodes du document xml de base.

    private String getNumber(NumberType type,Owner owner)
            {
                String number = null;
    
                XmlNodeList nodeList = xml.SelectNodes("//c:PhoneNumber", nsmgr);
                Debug.WriteLine("count: " + nodeList.Count);
                foreach (XmlNode num in nodeList)
                {
                 
                    Debug.WriteLine("-----------debut node-------------");
                    Debug.WriteLine("contenu: " + num.InnerXml);
    
                    XmlNodeList Labelnodes = num.SelectNodes("//c:Label", nsmgr);
                    
                    foreach (XmlNode label in Labelnodes)
                    {
                        Debug.WriteLine(label.InnerXml);
                    }
                        
                    Debug.WriteLine("-----------fin node-------------");
                }
    
                return number;
            }
    


    résultat:

    count: 3
    -----------debut node-------------
    contenu: <c:Number c:Version="1" c:ModificationDate="2011-06-15T19:06:52Z" xmlns:c="http://schemas.microsoft.com/Contact">fax</c:Number><c:LabelCollection xmlns:c="http://schemas.microsoft.com/Contact"><c:Label c:Version="1" c:ModificationDate="2011-06-15T19:06:52Z">Fax</c:Label><c:Label c:Version="1" c:ModificationDate="2011-06-15T19:06:52Z">Personal</c:Label></c:LabelCollection>
    Preferred
    Personal
    Fax
    Personal
    Voice
    Personal
    Cellular
    Personal
    UserTile
    wab:Birthday
    -----------fin node-------------
    -----------debut node-------------
    contenu: <c:Number c:Version="1" c:ModificationDate="2011-06-15T19:06:52Z" xmlns:c="http://schemas.microsoft.com/Contact">040546</c:Number><c:LabelCollection xmlns:c="http://schemas.microsoft.com/Contact"><c:Label c:Version="1" c:ModificationDate="2011-06-15T19:06:52Z">Voice</c:Label><c:Label c:Version="1" c:ModificationDate="2011-06-15T19:06:52Z">Personal</c:Label></c:LabelCollection>
    Preferred
    Personal
    Fax
    Personal
    Voice
    Personal
    Cellular
    Personal
    UserTile
    wab:Birthday
    -----------fin node-------------
    -----------debut node-------------
    contenu: <c:Number xmlns:c="http://schemas.microsoft.com/Contact">+32 </c:Number><c:LabelCollection xmlns:c="http://schemas.microsoft.com/Contact"><c:Label>Cellular</c:Label></c:LabelCollection>
    Preferred
    Personal
    Fax
    Personal
    Voice
    Personal
    Cellular
    Personal
    UserTile
    wab:Birthday
    -----------fin node-------------

    A chaque boucle il récupère toutes les nodes "label" du document et non ceux du node extrait.

    Je vois vraiment pas d'ou viens le problème :(
    • Partager sur Facebook
    • Partager sur Twitter
      22 juin 2011 à 21:02:10

      Rajoute un "." devant ta requête XPath, donc ".//c:Label". J'ai pas vérifié, mais ca devrait marcher.
      • Partager sur Facebook
      • Partager sur Twitter
        22 juin 2011 à 21:30:46

        J'ai passer presque 3 heures à chercher d'ou venait le problème... tous ça pour un point :'(

        Merci beaucoup à toi ;)
        • Partager sur Facebook
        • Partager sur Twitter

        [xml] récupérer XmlNodeList à partir d'un

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown