Comment puis-je la requête d'un XDocument avec un 'chemin'?
Je tiens à la requête d'un XDocument
objet pour un chemin donné (par exemple "/chemin/vers/élément/je/veux") mais je ne sais pas comment procéder.
- double possible de comment utiliser XPath avec XDocument?
- Vous pouvez voir un exemple en sélectionnant des chemins différents, avec ou sans espace de noms définitions, etc. ici: stackoverflow.com/a/38272604/5838538.
Vous devez vous connecter pour publier un commentaire.
Quelque chose de semblable à ce qui pourrait fonctionner:
RemoveEmptyEntries
n'est pas une bonne idée,//
a un sens précis dans XPath et il est à la recherche de tous les descendants.Vous pouvez utiliser les méthodes de
System.Xml.XPath.Extensions
pour ce faire.Par exemple, si vous souhaitez sélectionner un seul élément, vous pouvez utiliser
XPathSelectElement()
:Les requêtes n'ont pas à être de simples chemins comme ce que vous avez décrit, ils utilisent le XPath langue.
System.Xml.XPath
espace de noms n'est certainement pas nouvelle dans .Net 4.5.Même si c'est un peu plus post, il convient de noter que
LINQ-to-XML
peut être utilisé comme une alternative àSystem.XML.XPath
de trouver des éléments basés sur un chemin au sein d'unXDocument
Exemple:
Remarque: Le LINQ to XML commande peut être modifiée pour tenir compte de la structure réelle et/ou de la cardinalité de l'XML.
https://msdn.microsoft.com/en-us/library/bb675156.aspx
J'avais besoin de faire quelque chose de similaire. Cette repo a plusieurs tests unitaires faire des démonstrations XDocument l'interrogation avec XPathEvaluate()