Guten Abend,
ich tüftel gerade wie ich mit XPath vernünftig an meine XML Elemente ran komme.
XML:
Mit folgendem Code:
komme ich immer an den Namen.
Ich würde gern in einer Schleife gleichzeitig an id, name und price rankommen.
Also ungefähr so:
Klappt das irgendwie?
// EDIT:
Habe bei Google noch etwas gefunden
Allerdings brauch das bei ca 2300 Einträgen knapp 30 Sekunden :O
Ist das richtig, dass das so lange brauch?
ich tüftel gerade wie ich mit XPath vernünftig an meine XML Elemente ran komme.
XML:
Code:
<products>
<product>
<id>1</id>
<name>1</name>
<price>1</price>
</product>
<product>
<id>2</id>
<name>2</name>
<price>2</price>
</product>
...
</products>
Mit folgendem Code:
Code:
String expression = "/products/product/name";
NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
for (int i = 0; i < nodeList.getLength(); i++) {
System.out.println(nodeList.item(i).getFirstChild().getNodeValue());
}
komme ich immer an den Namen.
Ich würde gern in einer Schleife gleichzeitig an id, name und price rankommen.
Also ungefähr so:
Code:
expression = "/products/product";
...
nodeList.item(i).getNode("id").getNodeValue()
nodeList.item(i).getNode("name").getNodeValue()
nodeList.item(i).getNode("price").getNodeValue()
Klappt das irgendwie?
// EDIT:
Habe bei Google noch etwas gefunden
Code:
NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
for (int i = 0; i < nodeList.getLength(); i++) {
String id = xPath.evaluate("id", nodeList.item(i));
String name = xPath.evaluate("name", nodeList.item(i));
String price = xPath.evaluate("price", nodeList.item(i));
}
Allerdings brauch das bei ca 2300 Einträgen knapp 30 Sekunden :O
Ist das richtig, dass das so lange brauch?
Zuletzt bearbeitet: