Query xpath pour un attribut contenant une barre oblique en avant (/)
-
29-10-2019 - |
Question
J'essaye de faire un SelectSingleNode
sur un XMLDocument
en utilisant une expression XPATH. Cependant, lorsque la valeur d'attribut que je recherche contient plusieurs barres obstruées (/), elle renvoie NULL.
Je ne trouve aucune ressource en ligne pour échapper à la barre oblique. Quelqu'un sait-il un moyen de contourner cela? Ou ai-je ma syntaxe trompe pour faire correspondre la valeur d'attribut?
Exemple XML
<?xml version="1.0"?>
<Root>
<Page Path="/brand" />
<Page Path="/brand/armada" />
</Root>
Cette expression XPath renvoie le nœud correct (par exemple: le premier dans l'échantillon ci-dessus)
XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand']");
Cette expression XPath renvoie nul
XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand/armada']");
Je suis dans un environnement C #, .NET 3.5.
Edit: Merci pour les réponses. J'ai résolu le problème en utilisant une double barre de barre avant dans l'expression sélectionnée.
XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");
La solution
Merci pour les réponses. J'ai résolu le problème en utilisant une double barre de barre avant dans l'expression sélectionnée.
XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");