J'ai un document XML qui est mal construit - au lieu de nœuds enfants, les éléments ont plusieurs attributs.L'utilisation de XPath pour trouver la valeur d'un attribut dans un nœud basé sur un autre attribut dans le même nœud?
Par exemple:
<makes>
<option make="FORD" year_start="1950" year_end="2009" />
<option make="CHEVROLET" year_start="1965" year_end="2009" />
...
</makes>
J'essaie d'utiliser XPath pour sélectionner la valeur des autres attributs pour tous les nœuds qui correspondent à un certain attribut. Je remplis 3 menus déroulants asp avec les valeurs de 2 documents XML basés sur une sélection précédente. J'utilise .net/C#
Par exemple: pour tous les nœuds d'option avec un attribut make qui a la valeur x, recherchez la valeur de year_start.
J'ai essayé quelque chose comme ceci:
yearListData.XPath = string.Format("/makes/option[@year_start] and [@make={0}]", make);
où faire = la sélection précédente. Évidemment, ça n'a pas marché.
Existe-t-il un moyen d'utiliser XPath pour cela?
Le @year_start dans le prédicat est probablement excessif, car il ne peut pas retourner quelque chose qui doesn n'existe pas, mais il donnera la bonne réponse. –
Je l'ai laissé dedans pour ramener le point où les expressions peuvent être combinées dans le prédicat. –
cela a fonctionné pour moi, mais j'ai toujours des problèmes; pouvez-vous recommander une bonne ressource .net/C# & xml? –