gpt4 book ai didi

xml - 使用属性检查节点名称

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

如何使用xslt查找具有属性值的节点是否存在?

假设如果我的 xml 像这样

<root>
<sub>
<p>text</p>
<title id='id1-num-444'>text</title>
<p>text</p>
<title id='id1-str-aaa'>text</title>
<p>text</p>
<title id='id1-num-333'>text</title>
<p>text</p>
</sub>
</root>

我使用了以下 xsl
<xsl:template match ="sub">

....some tags...

<xsl:if test ="contains(name(), 'title[@id='id1-num']')">
<xsl:call-template name ="title"></xsl:call-template>
</xsl:if>
</xsl:template>

if 条件需要检查直到 num,它不应该考虑 num 之后的任何事情。
谢谢。

最佳答案

如果要对某个属性值的一部分进行测试,则需要使用 contains() ,但当然,不像你那样做。

假设,正如 Sean Durkin 所说,您的重点是候选标题元素,

<xsl:if test ="contains(self::title/@id,'id1-num')">
<xsl:call-template name ="title"></xsl:call-template>
</xsl:if>

或者稍微不那么明确的
<xsl:if test ="contains(@id,'id1-num')">
<xsl:call-template name ="title"></xsl:call-template>
</xsl:if>

会做的伎俩。

关于xml - 使用属性检查节点名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11359543/

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