我有一个XML:
<foo>
<bar>some text</bar>
</foo>
我正在使用XSTL从它生成一个HTML,并寻找一个Xpath(或一些XSTL方法,不知道),它给了我foo的全部内容。为了说明我的问题,
<xsl:value-of select="foo"/>
正如所料,仅提供
some text
。但是我能做些什么来获得
<bar>some text</bar>
?所以要把它看作是条形标签只是普通的字符串。
答案 0 :(得分:2)
嗯,当然没有办法将<tag>
视为一个字符串,因为XSLT会看到XML解析器的输出,这是一个节点树:标签很久以来就已经消失了,当时XSLT正在变为行动
但是你可以将元素节点作为一个整体复制,而不是仅仅提取它的字符串值。只需使用<xsl:copy-of>
代替<xsl:value-of>
。
答案 1 :(得分:1)
您可以使用Copy
<强> HTML 强>
<foo>
<bar>some text</bar>
</foo>
<强> XSL 强>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="bar">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
<强>输出强>
<bar>some text</bar>