gpt4 book ai didi

xml - 如何为不同的父节点选择所有同名的节点?

转载 作者:数据小太阳 更新时间:2023-10-29 01:59:54 30 4
gpt4 key购买 nike

假设我有以下 xml:

<root>
<person>
<name>John</name>
</person>
<children>
<person>
<name>Jack</name>
</person>
</children>
</root>

是否可以同时选择两个人?假设我不知道另一个人在 children 标签中,他们很可能在 spouse 标签中或完全不同的东西,并且可能在另一个 child 中。我知道我需要的所有人都在根标签中(不一定是文档根)。

最佳答案

你可以使用

//person

//*[local-name()='person']

在文档中查找任何 person 元素,但要小心 - 某些 xsl 处理器(如 Microsoft 的),双斜杠在大型 xml 文档上的性能可能很差因为需要评估文档中的所有节点。

编辑:
如果您知道只有 2 条路径可以到达“人”,那么您可以完全避免使用 //:

<xsl:for-each select="/root/person | /root/children/person">
<outputPerson>
<xsl:value-of select="name/text()" />
</outputPerson>
</xsl:for-each>

OR 命名空间不可知:

<xsl:for-each select="/*[local-name()='root']/*[local-name()='person'] 
| /*[local-name()='root']/*[local-name()='children']/*[local-name()='person']">

关于xml - 如何为不同的父节点选择所有同名的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7833417/

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