⌘XJY Editor 帮助

XJY Editor 帮助

XJY Editor 在浏览器中查看和编辑 XML、JSON、YAML 文档,另有 CSV、SQLite、Excel 三个数据编辑器。本页说明各项功能、保存方式和使用限制。

快速上手

  1. 打开 XJY Editor,点击「打开文件」选择 .xml、.json 或 .yaml 文件;也可以先点「XML 示例」等按钮体验。
  2. 左侧目录树选择节点,右侧修改名称、值或属性;进入容器后可在「智能表格」中成批编辑同级节点。
  3. 修改完成后点击「保存」或按 Ctrl+S。保存时保留原文件的编码和换行符,详见保存、草稿与导出。

页头的「CSV 编辑器」「SQLite 编辑器」「Excel 编辑器」在新标签页中打开对应的数据编辑器,当前编辑内容不受影响。

文件只在你的浏览器中处理,不上传到服务器;例外情况见隐私与数据。

打开文件与编码

点击「打开文件」选择本机文件。格式按扩展名判断:.xml、.json、.yaml / .yml。

编码识别

  • 文件带 BOM 时按 BOM 识别(UTF-8、UTF-16 LE / BE)。
  • XML 声明中写明的编码(如 encoding="GBK")会被采用。
  • 其余文件先按严格 UTF-8 读取。
  • 都无法确定时会弹出「选择文件编码」窗口:下拉选择编码,下方预览实时显示读取效果,确认文字正常后再打开。中文界面默认建议 GB18030,英文界面默认建议 Windows-1252。

看起来是二进制内容的文件不会被打开。打开后,页面底部的文件状态行显示关联的文件名、编码和换行符,例如「关联文件:data.xml · GB18030 · CRLF」。

语法错误

文件有语法错误时,内容进入源码修复流程:在「源码」页修改并点击「应用源码」,修复前不能使用树和表格编辑。「✓ 语法校验」可随时检查当前文档或未应用的源码。

浏览与编辑节点

单节点编辑

在左侧目录树选择节点,右侧可修改名称、类型、属性或值;输入完成后移出焦点即应用。节点可以添加、复制、上移 / 下移、移动和删除,也可以在目录树和表格中拖动调整顺序。

导航

  • Alt+← / Alt+→ 后退 / 前进,Alt+↑ 进入父节点。
  • Ctrl+K 聚焦搜索框,可搜索名称、值、属性或显示路径,点击结果会展开并定位节点。
  • 目录树与源码双向定位:在源码中移动光标会选中对应节点,反之亦然。

源码

「〈〉源码」页可直接编辑文本。修改后点击「应用源码」才会更新节点;未应用时暂停定位和节点比较。「⇥ 格式化」按两空格缩进重新排版,可撤销。

更多工具

「⧉ 重复检查」列出 XML 中完全相同的同级元素(只提示,不修改)。此外还有条件查询、检查点、批量预览、模板以及 Schema 子集校验。

智能表格

进入一个容器节点后,「▦ 智能表格」把它的同级子节点显示为表格:XML 的属性和简单子元素、JSON / YAML 的字段各成一列。按 Enter 应用单元格;带子树的字段可以继续进入。

  • 首列复选框支持多选,「全选筛选结果」「清除选择」用于批量操作。
  • 筛选后,结构相同的记录会重新识别为属性列。
  • 在编辑框内拖动是选择文字,不会移动行。
  • 同一列中做相似的修改可触发辅助编辑。

辅助编辑

辅助编辑把你在几个单元格中做的相同修改,批量应用到同一列的其他单元格。XJY Editor 和 CSV、SQLite、Excel 编辑器都支持。

自动识别

在同一列中,对三个不同的记录连续做相似的插入或删除(例如都删掉开头的 PRE_),第三次提交后会弹出预览,列出将要修改的其余单元格。

主动发起

点击「辅助编辑」,或右键单元格选择「辅助编辑此列…」,自行指定列、规则、内容和位置。Shift+右键保留浏览器自己的菜单。

规则与范围

  • 系统按优先级匹配规则:完全一致 → 忽略大小写 → 等长同模式 → 仅等长。下拉列表可以改选其他兼容规则,也可以恢复初始规则。
  • 结束位置从右侧计数;字符按 Unicode 码点计数。
  • 范围默认为当前筛选结果,可明确切换到当前目录的全部记录。
  • 自动模式不会重复处理你手动修改的那三项。

检查预览后点击确认才写入;整批修改可以一次撤销。

保存、草稿与导出

保存

每个编辑器都只有一个「保存」按钮(Ctrl+S)。保存按打开时的编码、BOM 和换行符写出文件。是否能直接写回原文件,取决于浏览器和打开方式:

情况保存结果
Edge 或 Chrome,通过 HTTPS 或本机地址访问,用「打开文件」打开 直接写回原文件。第一次保存时浏览器会询问是否允许修改该文件。
通过本机助手右键打开直接写回原文件。
其他浏览器、通过普通 HTTP 访问、离线版,或打开的是示例 下载一个同名文件,下载即视为已保存。

页面底部的文件状态行会说明当前属于哪种情况:「关联文件:…」表示写回原文件,「保存时下载 · …」表示下载。

保存时的提示

  • 文件已被其他程序修改:打开后磁盘上的文件又被改过时,保存前会询问是否覆盖。
  • 换行符混用:文件中同时有 CRLF 和 LF 时,保存会统一为一种,先询问是否继续。
  • 字符无法用原编码保存:例如在 GBK 文件中输入了 emoji,会列出出问题的行,文件不会被写出。请修改这些字符后再保存。

源码草稿

源码页有未应用的修改时,按钮显示为「保存源码」,保存的是源码文本本身,不会自动应用到节点。CSV 和 Excel 编辑器则要求先应用或放弃源码草稿。

本地草稿

「保存本地草稿」「恢复草稿」把内容存在浏览器本地,用于意外关闭后的恢复,不能代替保存文件。草稿属于当前网址,换一个网址或使用离线版时互不相通。

导出

「↓ 导出文件」(XJY Editor)以及表格编辑器中的「导出 CSV…」「导出数据库…」「导出工作簿…」下载一份新文件,不影响原文件,也不清除未保存标记。

转换并导出

「转换并导出…」把正在编辑的内容转换成另一种格式并下载新文件,当前文档保持不变。

编辑器转换内容可转换为
XJY Editor当前整个文档(包括未应用的源码)XML、JSON、YAML 中的另两种
CSV当前整个表格,包括筛选隐藏的记录XLSX、TSV、CSV(可改编码)
Excel当前工作表的完整使用范围CSV、TSV
SQLite当前表的全部记录CSV、TSV、XLSX

转换前会显示预览和会发生的变化,例如 XML 转 JSON 时注释会丢失、属性写成 @名称。需要勾选「我已了解以上转换规则和内容变化」后才能导出。

会被拒绝的情况

  • XML 中有 DTD,或转换后的元素名、属性名不合法。
  • YAML 使用锚点 / 别名、自定义标签或多文档。
  • 有重复键,或嵌套超过 200 层。
  • 表格超过 100 万个单元格,或超出 Excel 的行列限制。
  • 目标编码无法表示其中的字符。

与 FindChanged 比较

比较两个节点

  1. 在智能表格中勾选恰好两个同级节点,点击「比较选中两项」。
  2. 确认左右顺序(可交换),点击底部「打开 FindChanged」。
  3. FindChanged 在新标签页中显示两个子树的差异。

在 FindChanged 中点击差异可以回到 XJY Editor 定位:共有的差异回到右侧节点,左侧独有的差异回到左侧节点。来源内容改动后需要重新比较。

比较整个文件

「交给 FindChanged」可以比较基线、当前内容或另一个文档的完整文件。

FindChanged 中的修改不会写回 XJY Editor。XML 只能比较元素;YAML 引用和受保护结构暂不支持比较。每侧最多 5 MiB、10 万行,超出时只提供文件下载。

CSV 编辑器

打开或拖入 .csv、.tsv、.txt 文件,在「解析设置」中确认编码、分隔符和是否把首行作为表头。

  • 支持逗号、分号、制表符分隔;编码支持 UTF-8、UTF-16 和 GB18030,识别不了时需要你手动选择并预览。
  • 所有字段按文本处理:前导零、长数字、日期和空格都按原样保留。
  • 双击单元格在格内编辑:Enter 确认,Shift+Enter 换行,Esc 取消。可插入 / 删除行列、改表头、粘贴矩形区域。
  • 拖动或 Shift 扩选、Ctrl 多选;复制为制表符分隔文本,可直接粘贴到 Excel。
  • 查找、按列筛选、在选区或全表中替换,替换前有预览。
  • 「源码」页直接编辑 CSV 文本,点击「应用源码」后更新表格。

保存时只改动编辑过的记录,其余记录、编码和换行符保持原样。删除整列会连同筛选隐藏的数据一起删除,确认窗口会提示。

SQLite 编辑器

打开 .sqlite、.sqlite3、.db、.db3 数据库文件,左侧选择表或视图,表格每页 100 条,可按列筛选。

  • 双击字段编辑,并明确选择写入类型:文本、整数、实数、NULL 或 BLOB(十六进制)。整数按 64 位精确处理,不会被舍入。
  • 可添加记录(使用默认值和自动主键)和删除多行。数据库自身的约束、外键和触发器照常生效,失败时整个操作回退。
  • 「结构」页只读显示建表 SQL,可以复制。

只读的情况

  • 视图、虚拟表、系统表、生成列,以及无法唯一定位记录的表。
  • WAL 模式的数据库:请先在原应用中关闭数据库(完成检查点)再打开。
  • 已有外键错误的数据库不接受新修改。

保存写出整个数据库文件。不支持执行任意 SQL、修改表结构或打开加密数据库。

Excel 编辑器

打开 .xlsx 工作簿,切换工作表、翻页、按地址定位和筛选。隐藏的行列默认不显示,可以选择显示。

  • 双击单元格编辑,可写入文本、数值、布尔、日期、公式或错误值。文本 001 会保留前导零。
  • 粘贴制表符分隔文本前会确认,内容一律按文本写入。
  • 「源码」页可编辑当前工作表的 XML,只允许修改已有单元格的值和公式。

保存时只修改目标工作表,原有样式、图表、其他工作表都保留。浏览器不计算公式:修改后公式标为「待重算」,请在 Excel 中打开保存后的文件完成重算。

限制

  • .xls 旧格式只能查看和复制,不能保存;请先在 Excel 中另存为 .xlsx。
  • 受保护的工作表、含宏或签名的工作簿只读;合并区域只能改左上角;共享公式和数组公式区域只读。
  • 不能插入 / 删除整行整列、修改格式或工作表名。
  • 工作簿最大 30 MB,解压后最大 100 MB;单元格文本最多 32767 个字符。不支持加密工作簿。

本机助手(右键打开)

XJY Editor 助手是一个 Windows 小程序。安装后,在资源管理器中右键文件,选择「用 XJY Editor 打开」,即可在浏览器中打开该文件,保存时直接写回原文件。

  • 支持 .xml、.json、.yaml、.csv、.tsv、.sqlite、.sqlite3、.db、.db3、.xlsx、.xls,按格式进入对应的编辑器。
  • Windows 11 中菜单可能在「显示更多选项」里。只对单个文件显示,多选或文件夹不显示。
  • 双击 XJYEditorHelper.exe 安装,不需要管理员权限,也不改变文件的默认打开程序。再次双击安装目录中的助手,或在 Windows「设置 → 应用」中卸载。
  • 助手只在本机 127.0.0.1 上工作,只能访问你选中的那一个文件;文件内容不经过网站服务器。单个文件最大 128 MiB。
  • 页面停止使用 10 分钟后助手自动退出;刷新页面后不会自动重新关联文件,需要右键重新打开。

CSV、SQLite、Excel 文件的直接写回需要助手 0.3.0 或更新版本;旧版本保存时会改为下载。

快捷键

按键作用适用
Ctrl+S保存全部编辑器
Ctrl+Z撤销(SQLite 编辑器请用工具栏按钮)XJY Editor、CSV、Excel
Ctrl+Shift+Z重做XJY Editor、CSV、Excel
Ctrl+Y重做CSV、Excel
Ctrl+K搜索节点XJY Editor
Alt+← / →后退 / 前进XJY Editor
Alt+↑进入父节点XJY Editor
Esc关闭搜索结果;取消单元格编辑全部编辑器
Enter / Shift+Enter确认单元格 / 在单元格内换行表格
Ctrl+D选择下一个相同文本(多光标)源码编辑
Shift+右键显示浏览器自己的右键菜单表格

隐私与数据

  • 文件的读取、编辑、转换和保存都在你的浏览器中完成,网站服务器只提供页面,不接收文件内容。
  • 本地草稿和界面偏好保存在浏览器本地存储中,只有这台电脑的这个浏览器能读到。
  • 使用「打开 FindChanged」「交给 FindChanged」时,所选内容会在浏览器中交给 FindChanged 页面(默认 https://findchanged.com)。只发送选中的节点或文档,不会修改原文件。
  • 本机助手只在本机工作,不把文件发给网站。

限制

  • XML 不支持 DTD;Schema 校验只支持一部分声明。
  • YAML 的锚点、别名和自定义标签受保护,部分操作(比较、转换)不可用。
  • 直接写回原文件只在 Edge / Chrome 等支持文件系统访问的浏览器中可用;其他浏览器保存为下载。
  • CSV、SQLite、Excel 编辑器目前只有中文界面。

常见问题

为什么点「保存」变成了下载?

当前浏览器或访问方式不能写回原文件,例如普通 HTTP 访问、离线版、非 Edge / Chrome 浏览器,或打开的是示例。可以改用 HTTPS 地址,或通过本机助手打开。

保存时提示「没有权限」?

第一次保存时浏览器会询问是否允许修改文件,请选择允许。如果之前拒绝过,重新用「打开文件」打开该文件即可再次询问。

打开后中文是乱码?

文件没有 BOM 又不是 UTF-8 时,需要在「选择文件编码」窗口中挑选正确的编码,例如 GB18030。确认预览正常后再打开。

提示文件已被其他程序修改?

打开以后,磁盘上的文件被别的程序改过。选择覆盖会用当前内容替换磁盘上的版本;选择取消则保持磁盘文件不变,你可以先导出当前内容再比较。

刷新页面后内容还在吗?

未保存的修改会在离开页面前提示。可用「保存本地草稿」做恢复备份,但它不能代替保存文件。