使用 XSLT 将一个 XML 文件拆分为多个 XML 文件 [英] Split one XML file to multiple XML File with XSLT
本文介绍了使用 XSLT 将一个 XML 文件拆分为多个 XML 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在下面的一个文件中有这个 XML
I have this XML in one file below
<?xml version="1.0" encoding="utf-8"?>
<document>
<file> <!--File1.xml-->
<content>content file 1</content>
</file>
<file> <!--File2.xml-->
<content>content file 2</content>
</file>
<file> <!--File3.xml-->
<content>content file 3</content>
</file>
</document>
如何编写一个 XSLT 来将其分解为多个文件,如下所示
How do I write an XSLT to break it to multiple files like below
File1.xml
<?xml version="1.0" encoding="utf-8"?>
<document>
<file>
<content>content file 1</content>
</file>
</document>
File2.xml
<?xml version="1.0" encoding="utf-8"?>
<document>
<file>
<content>content file 2</content>
</file>
</document>
等等.
感谢您的帮助.
推荐答案
使用 XSL 2.0:
With XSL 2.0:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="document/file">
<xsl:result-document href="file{position()}.xml">
<document>
<xsl:copy-of select="current()"/>
</document>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我使用支持 XSLT 2.0 的 Saxon 进行了测试,使用以下命令:
I tested this using Saxon, which supports XSLT 2.0, using the command below:
java -jar saxon9.jar -xsl:transform.xsl -s:input.xml
此命令生成三个文件:file1.xml
、file2.xml
和 file3.xml
.
This command generates three files: file1.xml
, file2.xml
and file3.xml
.
$ cat file1.xml
<?xml version="1.0" encoding="UTF-8"?>
<document>
<file> <!--File1.xml-->
<content>content file 1</content>
</file>
</document>
这篇关于使用 XSLT 将一个 XML 文件拆分为多个 XML 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文