输出在XSLT中使用XMLNS的XML节点



我从客户端收到了这段代码,但由于a:的xmlns,我不知道如何使用<xsl:for-each>来循环这些代码。

这是代码

<nodes xmlns:a="http://www.test.com/api/">
    <a:node>
        <a:Number>T123123</a:Number>
        <a:Url>http://www.link2.com/</a:Url>
    </a:node>
    <a:node>
        <a:Number>345345</a:Number>
        <a:Url>http://www.link2.com/</a:Url>
    </a:node>
    <a:node>
        <a:Number>456456456</a:Number>
        <a:Url i:nil="true"/>
    </a:node>
</nodes>

我试过一堆,包括以下内容:

<xsl:for-each select="nodes/a:node">

<xsl:for-each select="a:nodes/a:node">

非常感谢您的帮助。

在使用前缀之前,您需要首先声明指向相应命名空间URI:的前缀

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:a="http://www.test.com/api/">

XSLT中的命名空间前缀可以与源XML中的命名空间不同,只要两者都映射到同一个URI即可。

目前还不清楚xsl:for-each中的上下文元素是什么,以及它的正确XPath表达式是什么,因为您尝试的XPath与发布的示例XML不一致,所以我不能对此发表评论

相关内容

  • 没有找到相关文章

最新更新