gpt4 book ai didi

java - XML 元素类型都是相同的

转载 作者:行者123 更新时间:2023-12-01 13:21:02 24 4
gpt4 key购买 nike

我有一个包含两种元素类型的 XML 文档。一种元素类型仅具有属性,另一种元素类型仅包含第一个属性。

<TagList name="Results">
<Tag name="type_of_identifier" value="idvalue"/>
<Tag name="some_other_identifier" value="otheridvalue"/>
....
<Tag name="type" value="asdfaf"/>
<TagList name="SubList">
<Tag name="param1" value="value1"/>
<Tag name="param2" value="value2"/>
</TagList>
</TagList>

我是 XML(也是 Java)的新手,我只是不明白为什么要这样设置。

有没有一种方法可以通过指定名称来获取节点的值,而不必循环遍历每个节点?

最佳答案

在处理文件之前,请考虑将文件转换为更卫生的文件。具有两个模板规则的简单 XSLT 样式表:

<xsl:template match="TagList">
<xsl:element name="{@name}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>

<xsl:template match="Tag">
<xsl:element name="{@name}">
<xsl:value-of select="@value"/>
</xsl:element>
</xsl:template>

将其转换为如下内容:

<Results>
<type_of_identifier>idvalue</type_of_identfier>
<some_other_identifier>otheridvalue<some_other_identifier/>
....
<type>asdfaf</type>
<SubList>
<param1>value1</param1>
<param2>value2</param2>
</SubList>
</Results>

这样做的好处是文档的所有后续处理变得更加容易。

关于java - XML 元素类型都是相同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22028197/

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