You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SAXON与XSLT合并多个结构统一的XML基准文件

合并多个基准测试XML文件操作指南

1. 编写XSLT合并脚本

新建名为merge_benchmarks.xsl的文件,写入以下代码:

<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- 待合并XML文件的路径匹配规则,可执行时动态修改 -->
    <xsl:param name="benchmark_path" select="'./benchmarks/*.xml'"/>

    <!-- 执行入口,无需额外输入源文件 -->
    <xsl:template name="main">
        <benchmark>
            <!-- 批量读取所有匹配的XML文件,提取全部xpath元素及其子节点 -->
            <xsl:copy-of select="collection($benchmark_path)//xpath"/>
        </benchmark>
    </xsl:template>
</xsl:stylesheet>

2. 执行Saxon命令完成合并

如果你使用的是Saxon命令行工具,直接运行以下命令即可:

java -jar saxon-he-12.4.jar -xsl:merge_benchmarks.xsl -it:main -o:merged_benchmark.xml

如果你的基准测试XML文件存放在自定义目录,可通过参数动态指定路径:

java -jar saxon-he-12.4.jar -xsl:merge_benchmarks.xsl -it:main -o:merged_benchmark.xml benchmark_path="./your_dir/*.xml"

注意事项

  • 执行前请确认所有待合并的XML文件格式合法,你示例中的根标签闭合拼写有误(写为了benchamark),实际使用时需确保所有文件的根标签为正确的benchmark
  • Saxon 10及以上版本均支持上述XSLT 3.0语法,可直接使用免费的Saxon HE版本
  • 如果你的XML文件带有自定义命名空间,需在XSLT头部声明对应命名空间后,调整xpath选择路径即可

内容的提问来源于stack exchange,提问作者Usr654789

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 02:36:03