Partage
  • Partager sur Facebook
  • Partager sur Twitter

Link, xml, problème avec les balise contenant des xmlns

Sujet résolu
    9 mars 2011 à 21:15:29

    bonjour,

    j'essaye d'utiliser link pour lire mon xml, mais j'ai un petit soucis:

    Si j'utilise se code:



    XDocument xmlDoc = XDocument.Load("monxml.xml");
                var query = from c in xmlDoc.Elements("stagiaires")
                            select c;
                foreach (var c in query)
                {
                    Console.WriteLine(c);
                }
    


    avec ce xml

    <stagiaires>
    plein de balise
    </stagiaires>
    


    pas de soucis, par contre avec ceci



    XDocument xmlDoc = XDocument.Load("monxml.xml");
    var query = from c in xmlDoc.Elements("stagiaires xmlns=\"http://www.unlien.be/xml/stagiaires/list\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.unlien.be/xml/stagiaires/list monxml.xsd\"")
                            select c ;
                foreach (var c in query)
                {
                    Console.WriteLine(c);
                }
    


    avec ce xml:

    <stagiaires xmlns="http://www.unlien.be/xml/stagiaires/list"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://www.unlien.be/xml/stagiaires/list stagiaires.xsd">
    plein de balise
    </stagiaires>
    


    ça plante magistralement à la requête avec le message "Le caractère ' ', valeur hexadécimale 0x20, ne peut pas être inclus dans un nom."

    j'ai malheureusement besoin de faire avec la seconde solution :(

    des idées?
    • Partager sur Facebook
    • Partager sur Twitter
      9 mars 2011 à 23:36:57

      Ton élément "stagiaires" se trouve dans le namespace par défaut "http://www.unlien.be/xml/stagiaires/list".
      La bonne syntaxe pour spécifier ce namespace pour la méthode Elements() est la suivante:

      xmlDoc.Elements(XName.Get("stagiaires", "http://www.unlien.be/xml/stagiaires/list"))
      

      • Partager sur Facebook
      • Partager sur Twitter

      Link, xml, problème avec les balise contenant des xmlns

      × 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