首页 > 解决方案 > 选择带有命名空间的 xml 文档的值

问题描述

我有以下 XML 片段

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

我想<ccc>用 XSL 模板选择值,但无法使用

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

任何想法如何在不改变输入的情况下获得价值?

标签: xmlxsltvalue-of

解决方案


声明命名空间并使用它。

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

推荐阅读