Xpath pour rechercher un nœud qui a un attribut contenant une chaîne de caractères?
Je peux rechercher une Chaîne de caractères contenus dans une spécifiques attribut si j'utilise la suite de XPath
/xs:schema/node()/descendant::node()[starts-with(@my-specific-attribute-name-here, 'my-search-string')]
Cependant, je tiens à la recherche de TOUT attribut contenant* une Chaîne de caractères
Vous devez être clair sur ce que vous entendez par "contenant". Voulez-vous dire "égal à", ou "avoir une sous-chaîne de l'égalité"? Ou, comme votre exemple, "en commençant par"?
*avoir une sous-chaîne égale à
*avoir une sous-chaîne égale à
OriginalL'auteur emdog4 | 2011-09-13
Vous devez vous connecter pour publier un commentaire.
XML exemple:
Supposons, nous avons besoin de sélectionner les éléments qui ont un attribut contenant
h
. Dans cet exemple:element1
,element2
. Nous pouvons utiliser cette XPath:Dans votre échantillon:
//*[@*[starts-with(., 'h')]]
le même que//*[starts-with(@*, 'h')]
?Nope. En 2ème XPath node-set passe à
starts-with
fonction comme 1er argument (@*
). Lestarts-with
fonction permet de convertir un node-set en chaîne par le retour de la chaîne de valeur du premier noeud dans le node-set, c'est à dire uniquement le 1er attribut.ah, ça a du sens. Merci!
Vous êtes les bienvenus!
Ne pas utiliser le
contains
fonction?OriginalL'auteur Kirill Polishchuk
Le modèle général que vous cherchez est:
qui va correspondre à aucun attribut de l'élément de contexte qui contient
string
. Donc, si vous voulez tout simplement à la recherche de l'ensemble du document pour les attributs contenant desstring
, vous pouvez utiliser:OriginalL'auteur Robert Rossney