gpt4 book ai didi

Java按照它们在xml文档中出现的顺序检索具有不同标签名称的子节点

转载 作者:行者123 更新时间:2023-12-02 07:55:31 25 4
gpt4 key购买 nike

我有一个 xml 文件,看起来像这样......

<RootElementTag>
<ChildElementTag1 attribute1="value1" />
<ChildElementTag1 attribute1="value2" />
<ChildElementTag1 attribute1="value4" />
</RootElementTag>

我必须检索所有“ChildElementTag1”节点并按照它们在文件中出现的顺序处理它们。我用过org.w3c.dom.Document.getElementsByTagName("ChildElementTag1");它按照 xml 文件中出现的顺序返回了一个 NodeList。

现在 xml 发生了一些变化,并包含了一个具有不同标记名称“ChildElementTag2”的新子节点。

<RootElementTag>
<ChildElementTag1 attribute1="value1" />
<ChildElementTag1 attribute1="value2" />
<ChildElementTag2 attribute2="value3" />
<ChildElementTag1 attribute1="value4" />
<ChildElementTag2 attribute2="value5" />
</RootElementTag>

有没有办法按照它们出现的顺序获取上面 xml 片段中的所有 5 个子元素节点。

注意:- 我确实看到了 org.w3c.dom.Document.getElementById()方法需要我向每个子节点引入“id”属性,并根据它们的“id”属性值对它们进行排序。到目前为止,我还没有采取这种方法,希望有一种更简单的方法可以做到这一点。

最佳答案

调用getChildNodes()RootTagElement 节点上。

<小时/>

The javadoc for this method does not mention that the NodeList returned in the order in which it appears in the document.

我怀疑您会发现它们的顺序与文档中出现的顺序相同。 OTOH,您还可以查看我链接的方法下方列出的方法。具体来说是 getFirstChild()getNextSibling() (您可以对第一个子项调用,然后重复调用,直到 null)。

关于Java按照它们在xml文档中出现的顺序检索具有不同标签名称的子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9710373/

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