markus: xPath - bestimmen

Beitrag lesen

Hi H☼psel!

Hast du schon eine Lösung gefunden?

habe die Tage mich nicht damit beschäftigt, bin gerade dabei.

Du wählst doch am Anfang einen dieser Knoten aus. Zu diesem Zeitpunkt müsstest du auch abfragen können, wieviele Geschwister er hat

So mache ich auch, habe jetzt in meine While-Schleife noch eine For-Schleife eingebaut, die Überprüft die Kinder. Leider komme ich nicht in meine While-Schleife zurück (es wird nur ein Mal ausgeführt). oder ich bekomme Endlosschleife. Kann vielleicht einer mir sagen wo ich falsch liege.

public class DomPathExtractor {

public static String getxPath( Element x ) {
    Node t=x;
    final StringBuffer res=new StringBuffer();
    int count =0;
    while (t instanceof Element) {
 res.insert(0, "/"+t.getNodeName());
 final NodeList childs=t.getChildNodes();
 for (int i = 0; i<childs.getLength(); i++){
  t=childs.item(i);
 }
  if (childs.equals(t.getNodeName()))  {
  ++count;
         res.insert(0,"/"+t.getNodeName()+"["+count+"]");;
  }
 t=t.getParentNode();
    }
    return res.toString();
  }
}