Xpath Suche nach einem Knoten, der ein Attribut mit einer bestimmten Zeichenkette?
Kann ich nach einer Zeichenfolge suchen, die in einer bestimmten Attribut, wenn ich den folgenden XPath
/xs:schema/node()/descendant::node()[starts-with(@my-specific-attribute-name-here, 'my-search-string')]
Ich würde jedoch gerne auf die Suche für JEDES Attribut enthält* ein String
- Sie müssen sich im klaren sein, was meinen Sie mit "mit". Meinst du "gleich", oder "ein Teilstring gleich"? Oder, wie Ihr Beispiel suggeriert, "ab"?
- *mit einem substring entspricht
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beispiel-XML:
Nehme an, wir müssen wählen Sie die Elemente, die ein Attribut mit
h
. In diesem Beispiel:element1
,element2
. Wir können mit diesem XPath:Probe:
//*[@*[starts-with(., 'h')]]
das gleiche wie//*[starts-with(@*, 'h')]
?starts-with
Funktion als 1. argument (@*
). Diestarts-with
- Funktion wandelt eine node-set in eine Zeichenfolge durch Rücksendung der string-Wert des ersten Knotens in der node-set, d.h. nur 1 Attribut.contains
Funktion?Dem Allgemeinen Muster, das Sie suchen, ist:
die passt auf jedes Attribut auf das context-element enthält
string
. Also, wenn Sie wollen einfach nur, zu suchen das ganze Dokument für Attribute mitstring
, die Sie verwenden würden: