dom4j中获取相同名称节点个数的方法是什么?

比如这个xml文件:<?xmlversion="1.0"encoding="GBK"?><doc><personid="1"sex="m"><name>zhangsan<... 比如这个xml文件:
<?xml version="1.0" encoding="GBK"?>
<doc>
<person id="1" sex="m">
<name>zhangsan</name>
<age>32</age>
<adds>
<add code="home">home add</add>
<add code="com">com add</add>
</adds>
</person>
<person id="2" sex="w">
<name>lisi</name>
<age>22</age>
<adds>
<add ID="22" id="23" code="home">home add</add>
<add ID="23" id="22" code="com">com add</add>
<add id="24" code="com">com add</add>
</adds>
</person>
</doc>
是不是有一个方法直接得到person节点的个数?
没有为类型 Document 定义方法 getElementsByTagName(String)
怎么回事?
找到方法了。。。
List list = document.selectNodes("/doc/person");
int num = list.size();
展开
 我来答
韦涵涵
推荐于2016-12-02 · TA获得超过3892个赞
知道大有可为答主
回答量:1034
采纳率:100%
帮助的人:1493万
展开全部
var length= document.getElementsByTagName("person").size;

用这样方法就可以...

从来没有见过楼主讲的方法..

呵呵...

祝楼主早日成功!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2018-05-09 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2788万
展开全部
可以使用 XPath 来实现,比较简单
先将 dom4j-1.6.jar 和 jaxen-1.1-beta-4.jar 加入到 CLASSPATH
1.xml:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<a>
<b>
<c>test1</c>
</b>
</a>
<a>
<c>test2</c>
</a>
</root>
TestXpath.java:
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("d:\\1.xml"));
Element root = doc.getRootElement();
Element ec = (Element)root.selectSingleNode("//c"); //查找根元素下的第一个 c 节点
System.out.println(ec.getTextTrim()); //print "test1"
List ecList = root.selectNodes("//c"); //查找文档中所有的 c 节点
/*
* print
*
* test1
* test2
*
* */
for(Iterator iterator = ecList.iterator(); iterator.hasNext(); )
{
Element element = (Element)iterator.next();
System.out.println(element.getTextTrim());
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式