OK, je suis confus. Je ne vois pas pourquoi cela ne fonctionne pas.XmlDocument et ReadNode
Vu:
XmlReader reader = ...; //created by calling routine.
XmlDocument tmpDoc = new XmlDocument();
XmlNode a = tmpDoc.ReadNode(reader);
tmpDoc.AppendChild(a);
var t1 = tmpDoc.GetElementsByTagName("Entity")[0];
XmlNode mainNode = tmpDoc.SelectSingleNode("//Entity");
L'appel à getElementByTagName œuvres, mais l'appel à SelectSingleNode ne fonctionne pas. Il renvoie null. J'ai essayé d'autres formes de sélection de nœuds et elles ne fonctionnent pas.
Par le débogueur Je sais que le InnerXml est correct et contient quelque chose comme
<Entity>
<aaa />
</Entity>
aussi: si je l'utilise sur le même XML dans un fichier.
XmlDocument eDoc = new XmlDocument();
eDoc.Load(fileName);
XmlNode eNode = eDoc.SelectSingleNode("/Entity");
Cela fonctionne.
Des idées.
Merci d'avance.
Jim K
Cela ne fait probablement pas de différence, mais dans un échantillon vous avez // Entité et dans l'autre/Entité. –
J'ai essayé toutes les combinaisons. Aucun n'a travaillé. –
Lorsque j'essaie de comprendre les expressions XPath, j'utilise un outil gratuit téléchargeable ici: http://www.bubasoft.net/xpathbuilder/Xpathbuilder2.aspx (XPath Builder). –