Verwenden Sie xpath, um Elemente mit mehreren Attributen / Werten auszuwählen
Ich habe ein XML-Dokument, das ich brauche, um Streifen aus bestimmten teilen von Daten
xml-Dokument hat eine Struktur wie folgt:-
<a>
<b select='yes please'>
<c d='text1' e='text11'/>
<c d='text2' e='text12'/>
<c d='text3' e='text13'/>
<c d='text4' e='text14'/>
<c d='text5' e='text15'/>
</b>
</a>
<a>
<b select='no thanks'>
<c d='text1' e='text21'/>
<c d='text3' e='text23'/>
<c d='text5' e='text25'/>
</b>
</a>
<a>
<b select='yes please'>
<c d='text1' e='text31'/>
<c d='text2' e='text32'/>
<c d='text3' e='text33'/>
<c d='text4' e='text34'/>
<c d='text5' e='text35'/>
</b>
</a>
<a>
<b select='no thanks'>
<c d='text4' e='text41'/>
<c d='text3' e='text43'/>
<c d='text5' e='text45'/>
</b>
</a>
brauche ich, um wählen Sie nur die /a - /b-element-Gruppen, die d Attribut = 'text1' und
d-Attribut = 'text4', sobald ich Sie identifiziert haben, diese sub-Dokumente, die ich will, um den Wert des e-Attributen mit d-Attribut-Wert 'text5'
hoffe, das ist klar
Cheers
DD
Kommentar zu dem Problem
+1 für xpath/xslt / Sonntag-Frage 🙂
ops, es ist Samstag...
@empo, In manchen Zonen ist Sonntag schon 🙂
Gute Frage, +1. Siehe meine Antwort für ein einzelnes XPath-Ausdruck, der wählt genau die wollte Parametern.
InformationsquelleAutor der Frage Hector | 2011-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie diese XPath:
Wird
e='text15'
unde='text35'
1. und 3.a/b
XSLT:
InformationsquelleAutor der Antwort Kirill Polishchuk
Können Sie ein einzelnes template match der Gruppe erforderlich, und dann bekommen Sie den Wert des gewünschten attributes:
vorausgesetzt:
wird die Ausgabe
text15
undtext35
.InformationsquelleAutor der Antwort Emiliano Poggi
Ja, es ist so klar, die übersetzung in XPath ist fast mechanische
InformationsquelleAutor der Antwort Michael Kay
Dieser einzigen XPath-Ausdruck:
InformationsquelleAutor der Antwort Dimitre Novatchev