1

我对 XSLT 完全陌生,我需要使用它进行一些转换。我想了解的是如何在 xml 文档上复制特定元素的子元素。

这个元素是动态的,但我知道它的命名空间的 uri。有没有办法根据我拥有的uri匹配这个元素,然后复制它的所有子元素?

谢谢

4

1 回答 1

1

xsl:copy-of元素可用于将节点集复制到结果树。

例如,要将foo命名空间中的子节点复制到结果中,您可以使用如下内容:

<xsl:copy-of xmlns:ns="foo" select="ns:*"/>

另请参见xsl:copy用于复制当前节点的元素。


编辑添加:如果您只在运行时知道命名空间,请参阅namespace-uriXPath 函数。

例如,如果您有$uri包含命名空间 URI 的变量,则上面的等价物将是:

<xsl:copy-of select="*[namespace-uri() = $uri]"/>
于 2013-03-08T18:28:47.453 回答