Jquery 如何在XSLT中获取标记名?
我制作了一个简单的Jquery 如何在XSLT中获取标记名?,jquery,xml,xslt,xslt-1.0,xslt-2.0,Jquery,Xml,Xslt,Xslt 1.0,Xslt 2.0,我制作了一个简单的xslt示例。我想在h2中显示标记名。如何使用xslt显示标记名 这是我的密码: 我用过这个 <!--h1><xsl:value-of select="abc/p/name(.)"/></h1--> 这给了我一个错误。为什么? 预期产出: “p”(abc标记中的第一个标记)首先:添加以避免不必要的输出 然后我将更改第一个模板以匹配您abc,因为这是有趣的父节点。如果需要节点的任何子节点,请使用abc/*。然后模板将匹配abs/p和abc
xslt
示例。我想在h2
中显示标记名。如何使用xslt显示标记名
这是我的密码:
我用过这个
<!--h1><xsl:value-of select="abc/p/name(.)"/></h1-->
这给了我一个错误。为什么?
预期产出:
“p”(abc标记中的第一个标记)首先:添加
以避免不必要的输出
然后我将更改第一个模板以匹配您abc
,因为这是有趣的父节点。如果需要节点的任何子节点,请使用abc/*
。然后模板将匹配abs/p
和abc/catalog
。但你只想要第一个孩子,对吗?因此,请使用abc/*[1]
。这将只匹配abc/p
。现在您可以执行name(.)
或local-name()
您的XML文件
<abc>
<p test='ravi'>test123</p>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
</abc>
您的尝试:
<xsl:value-of select="abc/p/name(.)"/>
如果您的处理器支持XSLT2.0,则可以正常工作
在XSLT 1.0中,您需要执行以下操作:
<xsl:value-of select="name(abc/p)"/>
当然,这也适用于XSLT2.0。这个
的用途是什么?为什么会出现不必要的错误?没有这一行,
填塞板将匹配以前未匹配的所有内容。这是开关柜中的一种默认设置。请在问题本身中发布代码,而不是在外部链接中发布代码。请告诉我调用功能不起作用的原因,我建议您单独发布一个问题。提示:xsl:call-template
必须位于与输入内容相匹配的模板中。好的。这是我的问题
<xsl:value-of select="name(abc/p)"/>