我有以下 XML 树,我正在使用 Jsoup 来解析它。
<?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>
但是,当我尝试仅获取第一级节点元素时。它返回包括子节点在内的所有元素,并且这样做是正确的,因为显然子元素也匹配我的查询。
Elements elements = data.select("nodes > node");
有没有办法只获取第一级节点元素而不向 XML 数据添加额外的级别信息?
最佳答案
你可以这样做:
Elements elements = data.select("nodes").first().select("> node");
这也可以:
Elements elements = data.select("> nodes > node");
但前提是你使用了 Jsoup.parse(xml, "", Parser.xmlParser())
解析 XML 并且 XML 确实如您在问题中指定的那样( <nodes>
是根元素)
关于java - 如何使用 Jsoup 只获取第一级节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416294/