我有一个XML:
<foo>
<bar>some text</bar>
</foo>
我正在使用XSTL从中生成一个HTML,并寻找一个Xpath(或一些XSTL方法,不知道),它给了我foo的全部内容。为了说明我的问题,
<xsl:value-of select="foo"/>
正如预期的那样,仅交付
some text
.但是我能做些什么来得到
<bar>some text</bar>
?因此,将其视为条形标签只是普通字符串。
当然,没有办法将<tag>
视为字符串,因为 XSLT 看到的是 XML 解析器的输出,这是一个节点树:当 XSLT 开始运行时,标记早已消失。
但是您当然可以复制整个元素节点,而不仅仅是提取其字符串值。只需使用<xsl:copy-of>
代替<xsl:value-of>
。
您可以使用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>