我有一个用于创建xHTML片段的XSL样式表。 XML包含大量信息,我只想转换一个特定的部分,我这样匹配(注意这是我的顶级/第一个匹配):
<xsl:template match="root/SystemInfo/Errors">
这很有用,但是,在我的预期输出之前,我看到1001
被写出来了。进一步检查后,这是我匹配的xpath "root/SystemInfo/Errors"
之前的各种标签的数据。我该怎么做才能防止这种情况发生?
示例xml:
<?xml version="1.0"?>
<root>
<Settings>
<Enabled>1</Enabled>
<Mode1>0</Mode1>
<Mode2>0</Mode2>
<Limit>1</Limit>
</Settings>
<SystemInfo>
<Errors>
<NOCONNECTION>1</NOCONNECTION>
</Errors>
</SystemInfo>
</root>
XML Playground setup here以显示效果。
答案 0 :(得分:3)
添加
<xsl:template match="text()"/>
覆盖输出文本节点的默认模板,或确保只使用
处理您感兴趣的内容<xsl:template match="/">
<xsl:apply-templates select="root/SystemInfo/Errors"/>
</xsl:template>