Java 如何在xpath和dom4j中使用count()方法?
我想得到书的节点数:Java 如何在xpath和dom4j中使用count()方法?,java,xml,parsing,dom4j,Java,Xml,Parsing,Dom4j,我想得到书的节点数: <books> <book>1</book> <book>2</book> <book>3</book> </books> Document document = null; try { InputStream in = new FileInputStream(new File("./src/main/java/live.xml"));
<books>
<book>1</book>
<book>2</book>
<book>3</book>
</books>
Document document = null;
try
{
InputStream in = new FileInputStream(new File("./src/main/java/live.xml"));
document = reader.read(in);
}
catch (Exception e)
{
e.printStackTrace();
}
Node node = document.selectSingleNode("count(/books/book)");
1.
2.
3.
单据=空;
尝试
{
InputStream in=新文件InputStream(新文件(“./src/main/java/live.xml”);
文档=读卡器。读取(in);
}
捕获(例外e)
{
e、 printStackTrace();
}
Node=document.selectSingleNode(“count(/books/book)”);
例外情况:
org.dom4j.XPathException
:评估XPath时发生异常:XPath表达式的结果不是节点。它是:3.0,类型为:java.lang.Double
我的问题是,如果我想在xpath中使用count方法,如何将节点类型转换为Double类型
谢谢。使用
public numberValueOf(xpathExpression)
数值
计算XPath表达式并返回
XPath表达式,如果XPath表达式结果为数字或null
如果结果不是一个数字
参数:xpathExpression-是要计算的XPath表达式
返回:XPath表达式的数值结果,如果
结果不是一个数字
例如:
document.numberValueOf("count(/books/book)");
谢谢,正是我想要的!