gpt4 book ai didi

xml - 如何在我的 xslt 中使用 xpath 从 xml 键/值对中获取值?

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

我有一些要使用 xslt 处理的 xml。大量数据以键值对的形式出现(见下文)。我正在努力研究如何将基于键的值提取到变量中。我希望能够做这样的事情:

<xsl:variable name="foo" select="/root/entry[key = 'foo']/value"/>

但这似乎行不通。这是示例 xml。

<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<entry>
<key>
foo
</key>
<value>
bar
</value>
</entry>
</root>

正确的 xpath 是什么?

最佳答案

以下转换显示了实现此目的的两种方法——使用和不使用 <xsl:key>key()功能:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>

<xsl:key name="kValueByKey"
match="value" use="normalize-space(../key)"/>

<xsl:template match="/">
1. By key: <xsl:text/>

<xsl:copy-of select="key('kValueByKey', 'foo')"/>

2. Not using key: <xsl:text/>

<xsl:copy-of select="/*/*[normalize-space(key)='foo']/value"/>
</xsl:template>
</xsl:stylesheet>

请注意 normalize-space() 的使用函数<key> 的值中去除任何前导或尾随空白字符.

关于xml - 如何在我的 xslt 中使用 xpath 从 xml 键/值对中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738098/

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