Hallo zusammen,
ich bin dabei eine Anwendung zu programmieren, die ein mir unbekanntes xml einlesen können soll. Die einzige Einschränkung ist, dass die Struktur in etwa so aussieht:
[XML]
text
text
text
text
text
text
text
text
text
text
text
text
[/XML]
Das soll bedeuten, einen Text als Inhalt haben nur a, b und c. Diese Nodes müssen sich auch immer auf der untersten Ebene befinden.
Wenn ich nun Xpath benutze, wie kann ich dann nur a, b und c selektieren? (jedes Mal)
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
XPath xPath = XPathFactory.newInstance().newXPath();
String expr = "//*[text()]";
NodeList nl = (NodeList) xPath.evaluate(expr, doc, XPathConstants.NODESET);
for (int i = 0; i < nl.getLength(); i++){
System.out.println(nl.item(i).getNodeName() + " ");
}
Mir geht es um die Methode text(). Kann ich die so verändern, dass nur die nodes der 3. Ebene erfasst werden?
Danke und viele Grüße
tulpenbaum