Comment puis-je sélectionner un XML-nœud en fonction de son contenu?
Comment puis-je utiliser XPath pour sélectionner un format XML-nœud en fonction de son contenu?
Si j'ai par exemple le code xml suivant et je veux choisir le <auteur>-nœud qui contient Ritchie pour obtenir de l'auteur nom complet:
<books>
<book isbn='0131103628'>
<title>The C Programming Language</title>
<authors>
<author>Ritchie, Dennis M.</author>
<author>Kernighan, Brian W.</author>
</authors>
</book>
<book isbn='1590593898'>
<title>Joel on Software</title>
<authors>
<author>Spolsky, Joel</author>
</authors>
</book>
</books>
OriginalL'auteur Cros | 2008-08-27
Vous devez vous connecter pour publier un commentaire.
ou
.
est un alias plus courts pourtext()
- si oui, cette réponse fait la bonne chose.où pourrais-je lire un complet et convivial de référence de ces fonctions?
Cette mention de
text()
ne confondez me beaucoup. C'est à tort. Le.
est tout simplement l'élément courant.Merci pour votre commentaire et le lien pour l'exemple. À la fin de la page, ils ont également écrire ceci: Chaque fois que vous devez sélectionner un élément et utiliser un prédicat sur le même élément, vous devrez utiliser un point "." pour accéder à valeur de l'élément. Donc oui, ma mention de texte() n'était pas correct. Comme par w3.org: . sélectionne le nœud de contexte et le texte() sélectionne tout le texte du nœud enfant du nœud du contexte. Et même plus d'exemples sur l'utilisation de texte().
Il ne semble pas fonctionner lorsque le texte cible a plusieurs lignes.
OriginalL'auteur aku
XPath est la suivante:
En C# le code suivant retourne "Ritchie, Dennis M.":
OriginalL'auteur Cros
OriginalL'auteur Chris Marasti-Georg