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

Signaler
-
 Cemninho -
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

3 réponses

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...

++
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Ok j'essaie ça et je te tiens au courant.

Merci
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 !