我从客户端收到了这段代码,但由于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不一致,所以我不能对此发表评论