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

Saxon调用Zip压缩包内XML文件时出现Invalid URI错误,求正确的URI语法

Saxon调用Zip压缩包内XML文件时出现Invalid URI错误,求正确的URI语法

看起来你在尝试用Saxon直接读取Zip包里的XML文件时踩了URI格式的坑,我来帮你调整下正确的写法~

你当前的命令里,Zip文件的URI写法jar:"file:./ORR Stations Table1410.zip\!/ORR Stations Table1410.xml"有几个不符合标准的地方:

  • 多余的嵌套引号会干扰URI解析
  • Windows风格的反斜杠\不是URI标准的路径分隔符,应该用正斜杠/
  • 空格这类特殊字符在URI里需要转义成%20,避免解析时出错

针对你的场景,修正后的URI应该是这样的(用相对路径,匹配你设置的工作目录):
jar:file:./ORR%20Stations%20Table1410.zip!/ORR%20Stations%20Table1410.xml

对应的完整AutoHotkey命令如下:

runwait %comspec% /k java -jar "C:\Program Files\My Small Programs\Saxon\saxon-he-12.5.jar" -u jar:file:./ORR%20Stations%20Table1410.zip!/ORR%20Stations%20Table1410.xml -xsl:"ORR Table 1410 Compare with NR.xsl" -o:"ORR Table 1410 Compare with NR OUT.xml"

如果相对路径还是有问题,你可以试试用绝对路径的URI,这样能彻底避免路径解析的歧义:

runwait %comspec% /k java -jar "C:\Program Files\My Small Programs\Saxon\saxon-he-12.5.jar" -u jar:file:/E:/dwgs/Json/ORR%20Stations%20Table1410/ORR%20Stations%20Table1410.zip!/ORR%20Stations%20Table1410.xml -xsl:"ORR Table 1410 Compare with NR.xsl" -o:"ORR Table 1410 Compare with NR OUT.xml"

另外你提到解压后用-s:"ORR Stations Table1410.xml"能正常运行,说明你的XSL逻辑和文件本身都没问题,只要把Zip的URI格式调整符合标准,应该就能解决这个Invalid URI错误啦。

备注:内容来源于stack exchange,提问作者DaveF

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 17:28:08