gpt4 book ai didi

xml - 如何提取以逗号分隔的元素的键?

转载 作者:行者123 更新时间:2023-12-04 06:29:16 25 4
gpt4 key购买 nike

XML...

<BaseElement>
<AttributeList
>ThreadId=1,ThreadName=Foo,ApplicationName=Bar</AttributeList>
</BaseElement>

我正在尝试提取 ThreadId 内的值...
<xsl:apply-templates select="AttributesList"/>

以上显示了整个列表; ThreadId=1,ThreadName=Foo, ...
查看子字符串,但本质上似乎相当固定。它需要动态,以便如果 key ,在这种情况下将是 ThreadId更改为 NewFangledThreadId它继续运作。

最佳答案

此转换是完全参数化和通用的 :

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>

<xsl:param name="pAttrName" select="'AttributeList'"/>
<xsl:param name="pKeyName" select="'ThreadId'"/>

<xsl:template match="/">
<xsl:value-of select=
"substring-before(
substring-after(concat(',',
/*/*[name()=$pAttrName],
','
),
concat(',', $pKeyName, '=')
),
','
)
"/>
</xsl:template>
</xsl:stylesheet>

当应用于提供的 XML 文档时 :
<BaseElement>
<AttributeList
>ThreadId=1,ThreadName=Foo,ApplicationName=Bar</AttributeList>
</BaseElement>

产生了想要的正确结果:
1

当我们只指定 时:
 <xsl:param name="pKeyName" select="'ApplicationName'"/>

再次产生了正确的结果 :
Bar

关于xml - 如何提取以逗号分隔的元素的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5638882/

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