J'ai inclus un fichier XML dans mon formulaire InfoPath en tant que source de données secondaire. La connexion de données est nommée Divisions
. Ci-dessous la structure et le contenu du fichier:Requête XML Infopath de C#
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Divisions>
<Division>
<Name>Business Application Services</Name>
<Abbr>BAS</Abbr>
</Division>
<Division>
<Name>Network Security Services</Name>
<Abbr>NSS</Abbr>
</Division>
<Division>
<Name>Back Office</Name>
<Abbr>BO</Abbr>
</Division>
</Divisions>
Ce que je dois faire est requête ce fichier en utilisant le Abbr
de la division pour obtenir le Name
.
J'ai utilisé le code suivant pour créer un XPathNodeIterator
:
XPathNodeIterator XPNIDivisions = this.DataSources["Divisions"].CreateNavigator().Select("/Divisions/Division/Name");
Alors maintenant, comment puis-je rechercher le nom de la division dont Abbr
est 'NSS'
? Ou est le code que j'utilise mal (je suis nouveau à la manipulation XML)? Veuillez noter que ces abréviations et noms pourraient changer (d'autres pourraient être ajoutés ou certains pourraient être supprimés); donc j'ai besoin d'être dynamique, ce qui signifie que si j'ai le Abbr
dans une variable MyAbbr
, je dois rechercher son Name
.
Merci à l'avance,
Yusuf
Ne pas oublier d'échapper apostrophes dans la valeur - voir http://stackoverflow.com/questions/1341847/special-character-in-xpath-query – marapet
oui, c'est ce que j'ai fait ici: StrXPathDiv = "/ Divisions/Division [Abbr = \ "" + la valeur + "\"] "; avec le '\" ' – Yusuf