Ich muss eine XML-Datei analysieren, die zahlreiche Mengen von Produkten enthält, und ich muss es alle Produkte zurückgeben, die in der XML-Datei gefunden werden.parse xml nicht Radfahren?
Der Code, den ich habe, gibt jedoch nur eins dieser Produkte zurück und berührt die anderen Produkte nicht, obwohl sie in der .xml-Datei enthalten sind.
Hier ist mein Code, kann mir jemand helfen, dies herauszufinden?
public void parse(String fileName) throws SAXException, IOException, XPathExpressionException {
File f = new File(fileName);
Document doc = builder.parse(f);
int prodCount = Integer.parseInt(path.evaluate("count(/inventory/products)", doc));
for (int i = 1; i <= prodCount; i++) {
String code = path.evaluate("/inventory/products[" + i + "]/product/code", doc);
String description = path.evaluate("/inventory/products[" + i + "]/product/desc", doc);
Double price = Double.parseDouble(path.evaluate("/inventory/products[" + i + "]/product/price", doc));
int quantity = Integer.parseInt(path.evaluate("/inventory/products[" + i + "]/product/quantity", doc));
Product p = new Product(code, description, price, quantity);
products.add(p);
}
}
}
Danke!
gab mir genau die gleiche Leistung von nur 1 Produkt – johnny
Da wa s ein zusätzliches Problem, das ich nicht entdeckte ("count (/ inventory/products)" sollte "count (/ inventory/products/product)" sein). Ich habe die Antwort bearbeitet und am Ende eine Verbesserung vorgeschlagen. – teppic
funktioniert perfekt! Vielen Dank :) – johnny