-1
這是我想解析的xml文檔。我需要獲得賬戶的所有餘額並將它們加在一起得到總計。但是我對如何做到這一點感到不知所措。使用xpath在java中解析XML文檔
<?xml version="1.0"?>
<!-- <!DOCTYPE bank SYSTEM "bank.dtd"> -->
-<bank>
-<account>
<number>3</number>
<balance>1295.32</balance>
</account>
-<account>
<number>5</number>
<balance>3504.63</balance>
</account>
-<account>
<number>7</number>
<balance>872.00</balance>
</account>
</bank>
我這段代碼到目前爲止,但不能得到它的工作,不知道如何去做這件事。
public Bank parse(String fileName) throws SAXException, IOException,
XPathExpressionException {
File f = new File(fileName);
Document doc = builder.parse(f);
// get the bank
Bank b = new Bank();
XPathFactory xpfactory = XPathFactory.newInstance();
XPath path = xpfactory.newXPath();
int itemCount = Integer.parseInt(path.evaluate("count(/bank/account/number)",
doc));
for (int i = 1; i<= itemCount; i++) {
String balance = path.compile
("/bank/account[" + i + "]/number/balance").evaluate(doc);
System.out.println(balance);
你的Java代碼是不完整的(請張貼至少完整的方法)。您是否爲每個帳戶打印餘額?您還可以用一個XPath表達式對所有餘額進行求和:'sum(/ bank/account/balance)'。 – helderdarocha