如果我有这样的XML:
<sample>
<a:element1 xmlns:a="..." />
<b:element2 xmlns:b="..." />
</sample>
由于前缀<sample>
和a:
,似乎XSL无法找到b:
的两个子节点。
如果我删除了两个前缀以及名称空间声明,则会找到它们。
问题是我无法对原始XML文件做任何事情。那么如何找到<element1>
和<element2>
?
答案 0 :(得分:1)
这应该有效:
<xsl:stylesheet
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
xmlns:a="http://nsa"
xmlns:b="http://nsb"
version='1.0'
>
<xsl:template match="sample">
<xsl:value-of select="a:element1/@id"/>
<xsl:value-of select="b:element2/@id"/>
</xsl:template>
</xsl:stylesheet>