Les Allergies
Alimentaires
Posez votre question Signaler

[C#]XML parsing error : selectsinglenode [Résolu]

Cemninho - Dernière réponse le 29 sept. 2009 à 14:38
Bonjour,
Lors de l'usage de la méthode SelectSingleNode je ne parvient pas à atteindre le noeud désiré. J'ai lu des tonnes de sujets là dessus et je sais qu'il est nécessaire d'avoir un namespace défini, mais malgré celà, je n'y parviens pas.
fichier xml :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConfigList xmlns:nspace="http://www.w3.org/2001/XMLSchema">
<equipe target="all" load="1">
<name>InterMilan</name>
<size>2</size>
<number>2</number>
</equipe>
</ConfigList>
code :
// Ouverture fichier xml
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
XmlDocument CXML = new XmlDocument();
CXML.Load(fs);
// Ajout d'un namespace
XmlNamespaceManager nspace = new XmlNamespaceManager(CXML.NameTable);
nspace.AddNamespace("p", "http://www.w3.org/2001/XMLSchema");
// Selection du premier element du fichier
XmlElement teamElement = (XmlElement)CXML.DocumentElement.FirstChild;
// Récupération du nom
string name =teamElement.SelectSingleNode("//p:name", nspace).Value;
Résultat : j'ai touours un nullException. J'ai essayé plusieurs méthodes, mais il semble que je fasse quelque chose de travers. Pouvez-vous m'aider ?
Merci
Lire la suite 

[C#]XML parsing error : selectsinglenode »

3 réponses
Réponse
+1
moins plus
Hello,

Voici un bout de code plus simple qui devrait fonctionner :

XmlDocument CXML = new XmlDocument();
CXML.load(path);
XmlNode node = CXML.SelectSingleNode("/ConfigList/equipe/name")
string name = node.innerText;


J'espère que ceci t'aidera...

++
Ajouter un commentaire
Réponse
+0
moins plus
Ok j'essaie ça et je te tiens au courant.

Merci
Ajouter un commentaire
Réponse
+0
moins plus
Cool ça fonctionne. J'ai remarqué que la méthode qui foirait était "Value". "InnerText" récupère bien le contenu d'un noeud.

Merci beaucoup pour ton aide !
Ajouter un commentaire
Ce document intitulé « [C#]XML parsing error : selectsinglenode » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?