XSLT 合并多个 XML 文件的核心是 document() 函数,它支持加载外部文档并访问其节点,可用于跨文件数据整合;基本用法包括单文件加载、多文件加载(XSLT 2.0+)及指定基准节点解析路径。

用 XSLT 合并多个 XML 文件,核心是 document() 函数。它允许你在当前样式表中加载并访问外部 XML 文档的节点,从而实现跨文件的数据读取与整合。
document() 是 XSLT 内置函数,支持单个或多个 URI 参数。最常见的是传入一个字符串路径(相对或绝对),返回对应 XML 文档的根节点;也可传入节点集,对每个节点计算其 base URI 并加载对应文档。
document('data1.xml') —— 加载同目录下的 data1.xml
document(('a.xml', 'b.xml', 'c.xml')) —— 返回三个文档的根节点组成的节点集(XSLT 2.0+)document('config.xml', /) —— 显式指定基准节点(避免因当前上下文影响路径解析)假设有两个文件:users.xml 和 orders.xml,你想生成一份“用户+订单详情”的汇总报告。
users.xml:
orders.xml:
在主 XSLT 中,可这样关联数据:
特色介绍: 1、ASP+XML+XSLT开发,代码、界面、样式全分离,可快速开发 2、支持语言包,支持多模板,ASP文件中无任何HTML or 中文 3、无限级分类,无限级菜单,自由排序 4、自定义版头(用于不规则页面) 5、自动查找无用的上传文件与空目录,并有回收站,可删除、还原、永久删除 6、增强的Cache管理,可单独管理单个Cache 7、以内存和XML做为Cache,兼顾性能与消耗 8、
0
document() 行为受处理器支持和安全策略影响,需注意以下几点:
('a.xml','b.xml')),需用循环或递归方式逐个加载document() 返回空节点集,不会报错——建议用 count($doc/*) 或 $doc/node() 检查是否加载成功可通过 xsl:param 传入文件路径,让合并逻辑更灵活:
配合命令行工具(如 Saxon、xsltproc),可运行时注入参数:
saxon -s:users.xml -xsl:merge.xsl -param orderFile="prod_orders.xml"这样同一份 XSLT 就能适配不同环境的数据源。
以上就是如何用XSLT合并多个XML文件 document()函数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号