Java 如何使用Jsoup仅获取一级节点
我有下面的XML树,我正在使用Jsoup来解析它Java 如何使用Jsoup仅获取一级节点,java,css,xml,jsoup,Java,Css,Xml,Jsoup,我有下面的XML树,我正在使用Jsoup来解析它 <?xml version="1.0" encoding="UTF-8" ?> <nodes> <node> <name>NODE 1</name> <value1> <value1>NODE 1 VALUE 1</value1> </value1>
<?xml version="1.0" encoding="UTF-8" ?>
<nodes>
<node>
<name>NODE 1</name>
<value1>
<value1>NODE 1 VALUE 1</value1>
</value1>
<nodes>
<node>
<name>NODE 1 CHILD</name>
<value1>NODE 1 CHILD VALUE 1</value1>
</node>
</nodes>
</node>
<node>
<name>NODE 2</name>
<value1>NODE 2 VALUE 1</value1>
</node>
</nodes>
有没有办法只获取第一级节点元素而不向XML数据添加额外的级别信息?您可以执行以下操作:
Elements elements = data.select("nodes").first().select("> node");
这也会起作用:
Elements elements = data.select("> nodes > node");
但只有当您使用
Jsoup.parse(xml,“,Parser.xmlParser())
解析xml,并且xml确实如您在问题中指定的那样(
是根元素)您的答案才有效。然而,我真正需要的是int-depth=e.parents().size();用这个我可以知道正确的深度。
Elements elements = data.select("> nodes > node");