ich möchte gerne die Position von einem Knoten in einem dom tree erhalten. Bin mir nicht sicher, aber denke, dass sollte irgendwie mit XPath möglich sein.
<page>
<line>
<wd> bla </wd>
<wd> blabla </wd>
</line>
<line>
<wd> lorem </wd>
<wd> ipsum </wd>
<wd> dolor </wd>
<wd> sit </wd>
</line>
</page>
So sieht ca. mein Code aus und nun möchte ich zum einen für einen Knoten eine Funktion haben welche mir beispielsweise für “ipsum”: 2. Wortknoten, 2. Lineknoten, 1. Page ausspuckt. Das selbe würde ich gern auch umgekehrt können, also auf den 2. Wortknoten, 2. Lineknoten, 1. Page in einem anderen Dokument z.b. zugreifen.
Das zweite ist, denke ich mit XPath positional predicates möglich, bin mir aber auch nicht sicher. Beim ersten habe ich überhaupt keine Ahnung.
und mehr noch nicht. Weiß leider nicht wie ich den in XPath reinpacken soll. Finde immer nur die andere Richtung, also von XPath zu Node aber nie von Node zu XPath.
Ziel ist es, zwei Dokumente, wie oben beschrieben zu vergleichen. Das heißt ich iteriere über ein Dokument, habe also eine
List<org.w3c.dom.Node>
und möchte dann nachschauen, was an der selben Position im Baum, in einem anderen Dokument steht.
Naja kommt drauf an, wie das letztendlich ausschaut. Den XPath zusammenzubauen dürfte nicht schwer sein //(root-element)/child[position()=?]/child[position()=?] (usw)
Wenn es dir also ausreicht, diesen beim iterieren des ersten Dokumentes beim zweiten auszuführen, dann kannst du dir die Map schenken. Aber wenn du die Daten länger brauchst würde ich zu Marcineks vorschlag raten - dieser macht die Sache eigentlich nicht wirklich komplizierter.
[QUOTE=Tomate_Salat;25674]Naja kommt drauf an, wie das letztendlich ausschaut. Den XPath zusammenzubauen dürfte nicht schwer sein //(root-element)/child[position()=?]/child[position()=?] (usw)
Wenn es dir also ausreicht, diesen beim iterieren des ersten Dokumentes beim zweiten auszuführen, dann kannst du dir die Map schenken. Aber wenn du die Daten länger brauchst würde ich zu Marcineks vorschlag raten - dieser macht die Sache eigentlich nicht wirklich komplizierter.[/QUOTE]
Aber wie bekomme ich von dem Knoten im ersten Dokument die position des Knotens? Könntest Du das Code Snippet noch etwas erweitern? Bin leider noch zu unerfahren.