我对 XSLT 完全陌生,我需要使用它进行一些转换。我想了解的是如何在 xml 文档上复制特定元素的子元素。
这个元素是动态的,但我知道它的命名空间的 uri。有没有办法根据我拥有的uri匹配这个元素,然后复制它的所有子元素?
谢谢
该xsl:copy-of
元素可用于将节点集复制到结果树。
例如,要将foo
命名空间中的子节点复制到结果中,您可以使用如下内容:
<xsl:copy-of xmlns:ns="foo" select="ns:*"/>
另请参见xsl:copy
用于复制当前节点的元素。
编辑添加:如果您只在运行时知道命名空间,请参阅namespace-uri
XPath 函数。
例如,如果您有$uri
包含命名空间 URI 的变量,则上面的等价物将是:
<xsl:copy-of select="*[namespace-uri() = $uri]"/>