xpath um den gesamten xml-Baum-Struktur
Gibt es eine Möglichkeit mit Hilfe von xpath zu erhalten, der die gesamte Baumstruktur. Zum Beispiel, sagen, das ist die xml -
<a>
<b>
<c>
data
</c>
</b>
</a>
Möchte ich die xpath-abholen der Inhalt des Knotens und das Ergebnis sollte
<b>
<c>
data
</c>
</b>
Ich habe mit VTD-XML und java so weit, um die Elemente abzurufen, so weit. Dies ist der code, den ich verwendet wurde.
VTDGen vg = new VTDGen();
vg.setDoc(xmlString);
vg.parse(true);
VTDNav vn = vg.getNav();
AutoPilot ap = new AutoPilot(vn);
ap.selectXPath(xPath);
String data = ap.evalXPathToString();
- Was
//b
? - Hi John, das scheint nicht zu funktionieren.
- Was genau erwartest du es zu tun? Können Sie zeigen einige code?
- Ich bin mit VTD-XML und Java XPath-Ausdrücken. Ich war in der Lage, um die normale xpaths mit AutoPilot ap = neuer AutoPilot(); ap.selectXPath() ; String element = ap.evalXPathToString() ;
- Nehmen Sie sich die Zeit und Lesen stellen. Kann man den code, den Sie verwenden, und zeigen, was das Ergebnis ist, und zeigen, warum das Ergebnis nicht das, was Sie erwarten.
- Tut mir Leid, dass. Dies ist mein Erster Beitrag auf stackoverflow. Ich habe bearbeitet die main-post mit code.
- Ich denke, Sie sollten rufen Sie getElementFragment(), wenn Sie tag diese Frage mit vtd-xml, das ich haben könnte, beantwortet es viel früher
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden:
Diese wählt alle Kinder-Knoten des top-Elements des XML-Dokuments. Die Menge aller dieser Knoten hat genau die wollte Unterstruktur Struktur, weil jede selektierte element behält seinen ganzen sub-Baum (von denen dieses element ist die top-Knoten).
XSLT-basierten Nachweis:
wenn diese transformation wird angewendet auf das XML-Dokument:
der XPath-Ausdruck wird ausgewertet und die ausgewählten Knoten werden ausgegeben, die das wollten, das richtige Ergebnis:
Denken Sie daran, dass XPath-wählt einen Knoten oder eine Menge von Knoten. Betrachten Sie es als eine Rückkehr Zeiger in Ihrer ursprünglichen Quelle-Baum. Es nicht mehr zurück "den gesamten Baum-Struktur", es gibt Zeiger auf die ausgewählten Knoten in der Struktur. Was auch immer Sie wählen, die gesamte Struktur zur Verfügung, um Ihr Programm, indem Sie aus den ausgewählten Knoten zum anderen. Die navigation kann mit weiteren XPath-Ausdrücke, oder mit einem DOM-wie Navigations-API, oder implizit durch Operationen wie Serialisierung (in der Regel beim serialisieren ein Knoten, es zeigt den ganzen Teilbaum verwurzelt an diesem Knoten).
Ideal, "//b" wählt Knoten im Dokument, der aktuelle Knoten, die mit der Auswahl.
Verwenden