SelectNodes avec XPath en ignorant les cas de noms de nœud
J'ai un problème similaire à la question SelectNodes avec XPath ignorant cas mais dans mon cas, la majuscule/minuscule problème est dans le nœud avec le nom "application" (Parfois, est l '"Application" d'autres fois l '"application").
Comment pourrais-je appliquer la solution de l'autre post? ou un autre qui s'applique dans ce cas?
xml:
<?xml version="1.0" encoding="utf-16" ?>
<application>
<forms>
<action type="update">
<form uid="" >
</form>
</action>
</forms>
</application>
En C# 3.5:
XmlNode nodex= oXMLDoc1.SelectSingleNode("Application/forms/action/form/@uid")
nodex.Value="UniqueIDx";//nodex is null :S
Avez-vous d'utiliser XPath? Je serais personnellement utiliser LINQ to XML avec une clause where. Est Application/application toujours le nœud racine? (Si oui, tu ne peux pas appliquer le chemin XPath de qui?)
Intéressant...pourriez-vous poster un exemple de ce cas avec LINQ to XML? et l'un de XPATH avec le premier noeud de la position à la place du nom? merci ^^
Ups j'ai oublié de vous répondre directement, voir supérieure de post merci
Intéressant...pourriez-vous poster un exemple de ce cas avec LINQ to XML? et l'un de XPATH avec le premier noeud de la position à la place du nom? merci ^^
Ups j'ai oublié de vous répondre directement, voir supérieure de post merci
OriginalL'auteur VSP | 2012-06-15
Vous devez vous connecter pour publier un commentaire.
On peut le convertir en xml et nos variables en minuscules.
ce qui ne l' "//chemin/ajouter"??
Cela ne fonctionne que la moitié du temps pour moi ??? :S
OriginalL'auteur mykhailovskyi
Suffit d'utiliser:
Sélectionne le voulait attribut correctement dans tous les cas, lorsque le courant (contexte initial) nœud a un enfant avec nom, c'est-à tout capitalisation de la chaîne "application".
XSLT vérification basée sur les:
Lorsque cette transformation est appliquée sur le document XML suivant:
le voulait nœud est sélectionné et de sa chaîne de valeur est copiée vers la sortie:
Explication:
Bonne utilisation de la norme des fonctions XPath
nom()
ettranslate()
.OriginalL'auteur Dimitre Novatchev
Tout d'abord, je tiens à mentionner que xml est sensible à la casse, l'Application signifie quelque chose d'autre dans la demande d'emploi, ce me semble, devrait être fixé dans le code qui génère ce xml
mais si vous n'avez aucun contrôle sur qui peut-être essayer quelque chose comme ce que votre xpath:
De l'opérateur | sera de combiner le node-set qui sont retournés à partir de deux xpath de l'
dans ce cas, il sera l'un ou l'autre
OriginalL'auteur Gertjan Assies
Si l'élément racine est le seul élément où le cas de lettres peuvent changer, alors vous devriez tout simplement par exemple
comme l'a déjà suggéré dans un commentaire.
Avec XDocument vous le feriez par exemple
[modifier] Un commentaire revendique le premier exemple de chemin d'accès déclenche une exception, voici un exemple complet qui n'a pas de jeter une exception pour moi et utilise le même chemin a posté avant:
Avec l'exemple que vous avez posté, je pense que ma suggestion devrait fonctionner, je vais modifier mon post pour montrer un exemple complet qui n'a pas de jeter une exception pour moi.
OriginalL'auteur Martin Honnen