我正在使用document()调用XML。我需要转换导入的XML。这可能吗?
<xsl:copy-of select="document('C:\my.xml')/*"/>
<xsl:apply-templates/>
谢谢!
答案 0 :(得分:0)
使用<xsl:apply-templates select="document('file:///c:/my.xml')/*"/>
,您只需要为文件中的节点添加模板。
答案 1 :(得分:0)
例如, my.xml 在下面给出
<?xml version="1.0" standalone="no"?>
<root>
<a>XXX</a>
<b>YYY</b>
</root>
,下面给出了当前的xml:
<?xml version="1.0" encoding="UTF-8"?>
<root_test>
<test1>123</test1>
<test2>456</test2>
</root_test>
应用以下样式表时:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="root_test">
<xsl:copy>
<xsl:apply-templates/>
<xsl:apply-templates select="document('my.xml')/*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="a[document('my.xml')]">
<success><xsl:apply-templates/></success>
</xsl:template>
</xsl:stylesheet>
输出
<?xml version="1.0" encoding="utf-8"?>
<root_test>
123
456
<success>XXX</success>
YYY
</root_test>
请注意已应用 my.xml 中节点a
的模板。