[C#]XML parsing error : selectsinglenode

Résolu
Cemninho -  
 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
A voir également:

3 réponses

Sims'
 
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
Cemninho
 
Ok j'essaie ça et je te tiens au courant.

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