Select 具有命名空间的 xml 文档的值

Select value of xml document with namespace

我有以下 XML 片段

<aaa>
  <bbb xmlns="http://net.some.address.com">
    <ccc>123321</ccc>
  </bbb>
</aaa>

我想 select 使用 XSL 模板 <ccc> 的值,但无法使用

获取它
<xsl:value-of select="/aaa/bbb/ccc"/>

关于如何在不更改输入的情况下获取值的任何想法?

声明命名空间并使用它。

<xsl:value-of xmlns:a="http://net.some.address.com" select="/aaa/a:bbb/a:ccc"/>
  • 你可以选择任何你想要的前缀,它不一定是 a
  • 您可以在 XSLT 文档中更高层的任何位置声明名称空间。通常所有命名空间都在 <xsl:stylesheet> 级别声明,但如您所见,这只是一个约定。