Wie verwende ich XPath, um die Anzahl der Knoten mit einem bestimmten Attribut zu zählen?
Ich kann nicht scheinen, um einen XPath-Ausdruck, um zu arbeiten für mein Szenario. Ich möchte, um herauszufinden, alle "Geräte" - Knoten vom Typ "EndDevice". Ich bin in der Lage, zu zählen all die "Geräte" - Knoten, und ich bin auch in der Lage zu finden, alle "Geräte" - Knoten mit den "EndDevice" - Attribut. Aber ich kann nicht scheinen, Sie zu kombinieren!
count(//Device) //works
//Device[@xsi:type='EndDevice'] //works
count(//Device[@xsi:type='EndDevice']) //doesn't work
Wenn es darauf ankommt, bin ich mit XPathBuilder.
Kommentar zu dem Problem
Was meinst du damit, dass der zweite "gearbeitet"? Habe es einige Knoten? Ihre XPath korrekt aussieht, so gibt es etwas nicht, entweder in einem code-Abschnitt, der Sie nicht zeigt, oder in der Werkzeug Sie verwenden.
InformationsquelleAutor der Frage Jason Young | 2010-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich es kopiert, mit XPathBuilder 2.0.0.4.
Jedoch die XPath-Ausdruck funktioniert und wertet Sie korrekt in einem online-evaluator habe ich versucht (http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm).
EDIT: habe Auch versucht mit der neuesten version von Altova XMLspy
Eingang:
xslt:
Ausgabe:
Ich denke, es ist XPathBuilder das ist etwas falsch.
InformationsquelleAutor der Antwort Ledhund
Unter Verwendung der obigen xml gespeichert test.xml und mit dem tool http://kernowforsaxon.sourceforge.net/
Produziert den richtigen output.
InformationsquelleAutor der Antwort Xavier John