簡體   English   中英

讀取xml文件並使用Java進行求和

[英]Read xml file and make summation with java

我對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 : " );
}

嘗試這個

   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 );
}

使用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 );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM