我是java和xml的新手。我试图找到一种方法来计算金额的总和,但我不知道如何做到这一点。我已经尝试了几件事,但它没有用。非常感谢你的帮助。
for (int i = 0; i < clients.getLength(); i++) {
Element client = (Element) clients.item(i);
String name = client.getAttribute("name");
NodeList transactions = client.getElementsByTagName("transaction");
for(int j=0; j<transactions.getLength(); j++) {
Element transaction = (Element) transactions.item(j);
int amount = Integer.parseInt(transaction.getAttribute("amount"));
}
System.out.println("Client name : " +name);
System.out.println("Sum : " );
}
答案 0 :(得分:0)
试试这个
for (int i = 0; i < clients.getLength(); i++) {
Element client = (Element) clients.item(i);
String name = client.getAttribute("name");
NodeList transactions = client.getElementsByTagName("transaction");
int sum =0;
for(int j=0; j<transactions.getLength(); j++) {
Element transaction = (Element) transactions.item(j);
sum = sum + Integer.parseInt(transaction.getAttribute("amount"));
}
System.out.println("Client name : " +name);
System.out.println("Sum : " + sum );
}
答案 1 :(得分:0)
使用XPath这种事情要容易得多(即使你必须使用Java和DOM,你可能不会这样做。)
XPath xpath = XPathFactory.newInstance().newXPath();
for (int i = 0; i < clients.getLength(); i++) {
Element client = (Element) clients.item(i);
int sum = (int)xpath.evaluate("sum(transaction/@amount)",
client, XPathConstants.NUMBER);
System.out.println("Client name : " + client.getAttribute("name"));
System.out.println("Sum : " + sum );
}