Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将大量XML放在一起并在Windows中进行转换_Xml_Windows_Xslt_Cmd - Fatal编程技术网

如何将大量XML放在一起并在Windows中进行转换

如何将大量XML放在一起并在Windows中进行转换,xml,windows,xslt,cmd,Xml,Windows,Xslt,Cmd,我在文件夹中有很多XML文件——一本书的一页对应一个XML。我需要将所有XML放在一个根XML文件中,然后使用XSL进行第一次转换以删除名称空间和不需要的属性(我有一个XSL样式表),保存新的XML,然后使用另一个样式表再次转换(我也准备好了),并保存结果文本文件。 我在家里用一个XML文件在氧气中完成,但我需要使这个过程自动化,用一些脚本运行它。我必须在没有氧气的Windows环境下工作,客户没有任何软件,希望自己制作。 如何在不使用编写根XML的情况下将XML组合在一起!实体标签?我可以使用

我在文件夹中有很多XML文件——一本书的一页对应一个XML。我需要将所有XML放在一个根XML文件中,然后使用XSL进行第一次转换以删除名称空间和不需要的属性(我有一个XSL样式表),保存新的XML,然后使用另一个样式表再次转换(我也准备好了),并保存结果文本文件。 我在家里用一个XML文件在氧气中完成,但我需要使这个过程自动化,用一些脚本运行它。我必须在没有氧气的Windows环境下工作,客户没有任何软件,希望自己制作。 如何在不使用编写根XML的情况下将XML组合在一起!实体标签?我可以使用哪些软件工具(用于XSL转换)?如何为Windows制作这样的脚本? 我用Python编程,也用Java编程。
非常感谢。

请参阅有关如何使用的XSLT规范。

要将XML文件放在一起以便可以将它们作为一个文件进行处理,一个选项是编写cmd.exe批处理脚本,该脚本生成一个根XML文件,其中包含对所有XML文件的外部实体引用

可能是这样的(假设不带扩展名的XML文件名是允许的实体名):

@echo off
del root.xml 2> nul
(
    echo ^<!DOCTYPE root [
    for %%f in (*.xml) do (echo ^<!ENTITY %%~nf SYSTEM "%%f"^>)
    echo ]^>
    echo ^<root^>
    for %%f in (*.xml) do (echo ^&%%~nf;)
    echo ^</root^>
) > root.tmp
move root.tmp root.xml > nul
msxsl root.xml stylesheet.xsl