gpt4 book ai didi

xml - XSLT:检查 XML 元素是否在 xpath 中有父元素

转载 作者:行者123 更新时间:2023-12-03 17:04:59 28 4
gpt4 key购买 nike

我在这里浏览了很多关于 SO 的示例,但我找不到我正在寻找的确切内容。有许多示例可以匹配具有特定父元素的元素。但是,我不想匹配特定的 parent ,我只想知道它是否有 parent 。

所以对于这里的xml:

<foo>
<bar/>
</foo>
<bar/>

使用以下 XSLT:
<xsl:template match="bar">
<xsl:choose>
<xsl:when test="[test here]">
..do something..
</xsl:when>
</xsl:choose>
</xsl:template>

我如何简单地测试 <bar>元素有父元素还是没有?

谢谢!

最佳答案

此输入:

<foo>
<bar>
<baz/>
</bar>
</foo>

到这个脚本:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text"/>

<xsl:template match="*">

<xsl:choose>
<xsl:when test="parent::*">Parent: </xsl:when>
<xsl:otherwise>No Parent: </xsl:otherwise>
</xsl:choose>
<xsl:value-of select="name()"/>
<xsl:text>&#xa;</xsl:text>

<xsl:apply-templates select="*"/>

</xsl:template>

</xsl:stylesheet>

产生此输出:
No Parent: foo
Parent: bar
Parent: baz

注意:您的示例输入文件格式不正确,不能用作 XSLT 转换的输入,因为它有两个根。

关于xml - XSLT:检查 XML 元素是否在 xpath 中有父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18927054/

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