gpt4 book ai didi

java - 从节点选择中选择节点

转载 作者:行者123 更新时间:2023-12-01 15:14:11 25 4
gpt4 key购买 nike

我正在解析一个大型 XML 文件。

我的第一个 selectNodes 语句获取了我想要解析的所有元素的列表。

对于第一个 selectNodes 语句返回的每个元素,我想运行另一个 selectNodes。

XML 可能如下所示:

<A>
<B></B>
<C></C>
</A>
<A>
<B></B>
<C></C>
</A>

我受到限制,因为我必须一次解析内部节点,即“A”的每个子集。

最终目标是对每个 B、C 组合做一些事情,一次一个。

最佳答案

在 xPath 中,您可以使用双斜杠 (//) 查找父节点中具有特定名称的所有节点。如果您希望返回文档中的所有节点,您的表达式可以以“//”开头。

要返回单独列表中的所有 B 节点和所有 C 节点,请尝试:

List<?> bNodes = document.selectNodes("//B");
List<?> cNodes = document.selectNodes("//C");

for (Object b : bNodes)
for (Object c : cNodes)
//do something with each b/c combination

或者,要指定要搜索的根节点,请使用:

List<?> bNodes = document.selectNodes("A//B");
List<?> cNodes = document.selectNodes("A//C");

Document 是您使用 SAXReader 读取的文件。

关于java - 从节点选择中选择节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com