Sublime XML插件(如XML Tools)无内置导出功能,所有操作结果均在编辑器内临时显示或修改:Pretty Print直接改写当前文件,Validate日志和XPath结果仅限复制粘贴,需手动保存;批量导出必须借助xmllint等命令行工具。

Sublime XML插件本身不提供“导出结果”功能
你看到的所谓“XML 格式化结果”或“XML 验证输出”,只是插件在编辑器内做的临时处理——比如 XML Tools 的 Pretty Print、Validate、XPath 查询等操作,所有结果都直接写回当前视图或弹出临时面板,**没有内置的 Save As / Export Result 菜单或命令**。
常见误判:右键菜单里点“XML Tools → Pretty Print”后内容变了,以为能“导出美化后的 XML”,其实只是原地修改;执行“Validate XML”后底部出现错误提示,但那块 Build 面板内容无法保存——它和 Sublime 原生的 Build 系统一样,是只读、不持久的缓冲区。
- Build 面板里的验证日志关掉就丢,
Ctrl+A → Ctrl+C可手动复制,但没“全选全部内容”的快捷方式(滚动到底再按Ctrl+Shift+End才能选完) -
XML Tools的 XPath 查询结果默认显示在新标签页,但该标签页是只读的,不能直接Ctrl+S保存;必须Ctrl+A → Ctrl+C再粘贴到新文件中手动保存 - 如果你装的是
XMLPrettify或SublimeXML等替代插件,情况相同:无导出入口,只有格式化/高亮/校验能力
想保存 XML 工具操作结果?得靠“手动中转”
真正能落地为文件的操作,只有两种路径:一是让插件改写当前文件(如 Pretty Print),二是把结果复制进新文件再保存。没有中间态。
- 对当前文件做 Pretty Print 后,
Ctrl+S就是保存美化结果——前提是文件已存在且有路径;若只是新建未命名的 XML 片段,会先弹出保存对话框 - 用 XPath 查询返回多行结果时,新标签页里右键无“Save As”,必须:
Ctrl+A → Ctrl+C → File → New File → Ctrl+V → Ctrl+S - 验证失败的报错信息如果很长,建议在 Build 面板里拖选后
Ctrl+C,粘贴到output.log这类临时文件里再保存,避免遗漏行 - 不要依赖插件自动生成报告文件——
XML Tools不写磁盘,也不会创建validation-report.html这种东西
需要批量导出或自动化?绕开插件,用命令行
XML Tools 插件面向交互式编辑,不支持脚本化导出。真要批量处理 XML 文件并保存结果,得跳出 Sublime,用外部工具链。
- 美化:用
tidy -xml -i -m file.xml(需提前装html-tidy)或xmllint --format file.xml > pretty.xml - 验证:用
xmllint --noout --schema schema.xsd data.xml 2> errors.txt,错误会输出到errors.txt - XPath 提取:用
xmllint --xpath "//item/title/text()" data.xml > titles.txt,结果直接写入文件 - 把这些命令封装进 Sublime 的
.sublime-build文件里,就能用Ctrl+B触发并自动保存结果——这才是“导出”的可靠姿势
容易被忽略的关键点
很多人卡在“为什么 XPath 结果不能右键保存”上,其实不是权限或设置问题,而是 Sublime 对插件生成的只读视图做了硬性限制:它不挂载文件系统路径,也不暴露文本 API 给其他插件读取。你复制不了的内容,ExportHtml 也导不出,AutoSave 更不会管它。真正的导出动作,永远发生在你主动按下 Ctrl+S 的那一刻,或者你调用外部命令把 stdout 重定向到文件的时候。











