java - 如何使用 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>
        <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/

相关文章:

jquery - 网站上的汉堡菜单不起作用

java - 使用 binding.xml 重命名 JAXB 根​​类

Java 字符串分割在 "\n"处失败

java - 使用 equals() 将包装类与原语进行比较会产生奇怪的行为

javascript - 使用 webpack 2 将 .scss 文件提取为 .css

html - Bootstrap 3 可折叠导航栏文本和链接未对齐

python - 实体引用和 lxml

python - 使用lxml解析带有日语的xml

java - 用抽象方法覆盖默认接口(interface)方法

java - 如何让 Spring 注入(inject)/调用 Spring 注解类的 setter?