<root>
<folder_1>
<item>oh, my god!</item>
<item>help me!</item>
</folder_1>
<folder_2>
<item>sos!</item>
</folder_2>
</root>
part of xsl:
<xsl:apply-templates select="/root/folder_1">
<xsl:apply-templates select="/root/folder_2">
<xsl:template match="/root/*">
<[CDATA[
<!-- Help me!
我怎么样才能在这里输出被选中的标签名也就是folder_1或者folder_2
别告诉我在XML里面改成<folder_1 name="folder_1">.....
太不优雅了的说
-->
]]>
</xsl:template>
8 个解决方案
#1
<xsl:value-of select="name()" />
or
<xsl:value-of select="local-name()" />
or
<xsl:value-of select="local-name()" />
#2
偶用的是
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
似乎不支持name()和local-name()呢。试了一下,连last()都不支持,但是node()是可以的。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
似乎不支持name()和local-name()呢。试了一下,连last()都不支持,但是node()是可以的。
#3
try
nodeName()
nodeName()
#4
无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
表达式没有返回一个 DOM 节点。 -->nodeName()<--
....看来还是要加上name="xxx"了……哎……
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
表达式没有返回一个 DOM 节点。 -->nodeName()<--
....看来还是要加上name="xxx"了……哎……
#5
to saucer:
我找了个例子:
<xsl:element name="{local-name(.)}">
</xsl:element>
这样的话是可以通过语法检查的,不过我不知道怎么才能在value-of中应用这个……你知道吗?
我找了个例子:
<xsl:element name="{local-name(.)}">
</xsl:element>
这样的话是可以通过语法检查的,不过我不知道怎么才能在value-of中应用这个……你知道吗?
#6
element是因为作为一般字符串解释所以没错的,我看了生成的html后才知道,sigh....
非常感谢saucer的帮助,我想我还是加上name="xxx"吧
非常感谢saucer的帮助,我想我还是加上name="xxx"吧
#7
sorry, I am not familiar with the old version, here is a page you can refer to in the future
http://www.w3schools.com/xsl/xsl_ie5elementref.asp
http://www.w3schools.com/xsl/xsl_ie5elementref.asp
#8
谢谢,其中有答案的,<xsl:node-name/>
#1
<xsl:value-of select="name()" />
or
<xsl:value-of select="local-name()" />
or
<xsl:value-of select="local-name()" />
#2
偶用的是
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
似乎不支持name()和local-name()呢。试了一下,连last()都不支持,但是node()是可以的。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
似乎不支持name()和local-name()呢。试了一下,连last()都不支持,但是node()是可以的。
#3
try
nodeName()
nodeName()
#4
无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
表达式没有返回一个 DOM 节点。 -->nodeName()<--
....看来还是要加上name="xxx"了……哎……
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
表达式没有返回一个 DOM 节点。 -->nodeName()<--
....看来还是要加上name="xxx"了……哎……
#5
to saucer:
我找了个例子:
<xsl:element name="{local-name(.)}">
</xsl:element>
这样的话是可以通过语法检查的,不过我不知道怎么才能在value-of中应用这个……你知道吗?
我找了个例子:
<xsl:element name="{local-name(.)}">
</xsl:element>
这样的话是可以通过语法检查的,不过我不知道怎么才能在value-of中应用这个……你知道吗?
#6
element是因为作为一般字符串解释所以没错的,我看了生成的html后才知道,sigh....
非常感谢saucer的帮助,我想我还是加上name="xxx"吧
非常感谢saucer的帮助,我想我还是加上name="xxx"吧
#7
sorry, I am not familiar with the old version, here is a page you can refer to in the future
http://www.w3schools.com/xsl/xsl_ie5elementref.asp
http://www.w3schools.com/xsl/xsl_ie5elementref.asp
#8
谢谢,其中有答案的,<xsl:node-name/>