1
我解析XML
並使用XPath
想評估summ。XPathExpression不能總和
我嘗試:
long resultSum = 0L;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(false);
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(getOutputFileName());
XPathFactory xPathFactory = XPathFactory.newInstance();
XPath xPath = xPathFactory.newXPath();
String xPathExpression = "sum(//entries//entry/@field)";
XPathExpression expr = xPath.compile(xPathExpression);
resultSum = (Long) expr.evaluate(doc, XPathConstants.NUMBER);
但是,I'have錯誤:
Exception in thread "main" java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Long
在這一行:
resultSum = (Long) expr.evaluate(doc, XPathConstants.NUMBER);
這究竟是爲什麼?