Mine est une question générale sur les pratiques d'analyse XML.Analyse XML avec C#, XPath
Disons que nous avons un document XML, et nous utilisons XPath pour obtenir un nœud de ce document:
XMLNode node1=XMLDoc.SelectSingleNode("/SomeNode/SomeOtherNode");
maintenant n contient les données de SomeOtherNode. Intuitivement, je me attends la ligne de code suivante:
XMLNode node2=XMLDoc.SelectSingleNode("/Child");
pour alimenter node2 avec les enfants de node1 qui sont nommés « enfant ». Mais malheureusement, cela ne fonctionne pas de cette façon. La recherche XPath commence à partir de la racine du document et non à partir de l'objet XMLNode sur lequel elle a été appelée. Y a-t-il un moyen de le faire fonctionner de manière «intuitive»? Cela serait pratique pour une approche récursive ou orientée objet de l'analyse.
J'ai essayé d'utiliser l'objet XMLPathNavigator mais cela fonctionne de la même manière. Et il semble que je puisse définir le texte interne d'un XMLDocumentFragment dans le texte interne du nœud donné, mais cela semble être une duplication inefficace des données.
Des idées?
Si vous utilisez C# 3 ou supérieur, pensez à utiliser LINQ to XML. Voir http://msdn.microsoft.com/en-us/library/bb387098.aspx – TrueWill