1
私はXML
を解析し、XPath
を使用してsummを評価したいと思います。XPath式が数字の桁を合わせることができません
私は試してみてください。
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);
ですが、なぜでしょうか?