⌘XJY Editor 帮助

XJY Editor Help

XJY Editor views and edits XML, JSON and YAML documents in the browser, and adds three data editors for CSV, SQLite and Excel. This page explains the features, how saving works, and the limits.

Quick start

  1. Open XJY Editor and click Open file to choose an .xml, .json or .yaml file, or try one of the sample buttons first.
  2. Select a node in the tree on the left and edit its name, value or attributes on the right. Inside a container, the Smart table edits sibling nodes together.
  3. Click Save or press Ctrl+S. The original encoding and line endings are kept; see Saving, drafts and export.

The CSV, SQLite and Excel editor links in the header open in a new tab and leave your current work untouched.

Files are processed only in your browser and are not uploaded. See Privacy and data for the exceptions.

Opening files and encodings

Click Open file to choose a local file. The format follows the extension: .xml, .json, .yaml / .yml.

Encoding detection

  • A byte order mark decides the encoding (UTF-8, UTF-16 LE / BE).
  • An encoding named in the XML declaration (such as encoding="GBK") is used.
  • Otherwise the file is read as strict UTF-8.
  • If none of these works, the Choose the file encoding window opens. Pick an encoding and check the live preview before opening. The suggestion is Windows-1252 in the English interface and GB18030 in the Chinese one.

Files that look binary are not opened. The file status line at the bottom shows the linked file, encoding and line endings, for example “Linked file: data.xml · GB18030 · CRLF”.

Syntax errors

A file with syntax errors opens in source repair mode: fix it on the Source tab and click Apply source. The tree and table are unavailable until then. Validate syntax checks the document or the unapplied source at any time.

Browsing and editing nodes

Editing a node

Select a node in the tree; edit its name, type, attributes or value on the right. Changes apply when the field loses focus. Nodes can be added, copied, moved up or down, moved elsewhere and deleted, and you can drag them in the tree and the table to reorder.

Navigation

  • Alt+← / Alt+→ go back / forward; Alt+↑ goes to the parent.
  • Ctrl+K focuses search. Search names, values, attributes or display paths; clicking a result reveals the node.
  • The tree and the source follow each other: moving the cursor in the source selects the node, and selecting a node highlights its source.

Source

Edit text directly on the Source tab and click Apply source to update the nodes. While the source has unapplied changes, locating and node comparison pause. Format re-indents with two spaces and can be undone.

More tools

Check duplicates lists identical sibling elements in XML (report only). There are also condition queries, checkpoints, batch previews, templates and a subset of Schema validation.

Smart table

Inside a container node, the Smart table shows its children as rows: XML attributes and simple child elements, or JSON / YAML fields, become columns. Press Enter to apply a cell; fields with subtrees can be entered.

  • Use the first-column check boxes, Select filtered rows and Clear selection for batch actions.
  • After filtering, records with the same structure are recognised as columns again.
  • Dragging inside an edit box selects text; it does not move rows.
  • Similar edits in one column can start assisted editing.

Assisted editing

Assisted editing repeats the change you made in a few cells across the rest of the column. It is available in XJY Editor and in the CSV, SQLite and Excel editors.

Automatic

Make a similar insertion or deletion in three different records of one column (for example, remove a leading PRE_). After the third edit, a preview lists the other cells that would change.

On request

Click Assisted editing, or right-click a cell and choose Assist editing this column…, to choose the column, rule, text and position yourself. Shift+right-click keeps the browser menu.

Rules and scope

  • Rules are tried in order: exact match → ignore case → same length and pattern → same length only. You can pick another compatible rule or restore the first one.
  • End positions count from the right; characters are counted as Unicode code points.
  • The scope is the current filter result by default; you can switch to all records in the current folder.
  • The automatic mode does not repeat your three manual edits.

Nothing is written until you confirm the preview, and the whole batch undoes in one step.

Saving, drafts and export

Save

Every editor has a single Save button (Ctrl+S). It writes the file with the encoding, byte order mark and line endings it was opened with. Whether it writes back to the original file depends on the browser and how the file was opened:

SituationWhat Save does
Edge or Chrome over HTTPS or a local address, file opened with Open file Writes back to the original file. The browser asks for permission the first time.
File opened with the local helperWrites back to the original file.
Other browsers, plain HTTP, the offline version, or a sample Downloads a file with the same name; the download counts as saved.

The file status line tells you which applies: “Linked file: …” writes back, “Saving downloads the file · …” downloads.

Questions while saving

  • The file was changed by another program: if the file on disk changed after you opened it, you are asked before it is overwritten.
  • Mixed line endings: if the file mixes CRLF and LF, saving uses one of them throughout and asks before continuing.
  • Characters the encoding cannot store: for example an emoji in a GBK file. The affected lines are listed and nothing is written; change those characters and save again.

Source drafts

While the Source tab has unapplied changes, the button reads Save source and saves the source text itself without applying it. The CSV and Excel editors ask you to apply or discard the draft first.

Local drafts

Save local draft and Restore draft keep a copy in browser storage for recovery after an accidental close. They do not replace saving the file, and drafts belong to the current address only.

Export

Export file (XJY Editor) and Export CSV…, Export database…, Export workbook… in the table editors download a new copy. They leave the original file alone and do not clear the unsaved mark.

Convert and export

Convert and export… converts what you are editing into another format and downloads a new file. The current document does not change.

EditorWhat is convertedTargets
XJY EditorThe whole document, including unapplied sourceThe other two of XML, JSON, YAML
CSVThe whole table, including filtered-out recordsXLSX, TSV, CSV (encoding can change)
ExcelThe used range of the current sheetCSV, TSV
SQLiteAll records of the current tableCSV, TSV, XLSX

A preview lists what will change, for example XML comments are dropped and attributes become @name keys. Tick the box confirming you understand the conversion before exporting.

Conversions that are refused

  • XML with a DTD, or element and attribute names that would be invalid.
  • YAML with anchors / aliases, custom tags or several documents.
  • Duplicate keys, or nesting deeper than 200 levels.
  • Tables over one million cells, or beyond Excel's row and column limits.
  • Characters the target encoding cannot represent.

Comparing with FindChanged

Compare two nodes

  1. In the smart table, tick exactly two sibling nodes and click Compare selected pair.
  2. Check the left and right sides (you can swap them) and click Open FindChanged.
  3. FindChanged shows the differences between the two subtrees in a new tab.

Clicking a difference in FindChanged locates it back in XJY Editor: shared differences go to the right node, differences only on the left go to the left node. Compare again after changing the source.

Compare whole files

Send to FindChanged compares the baseline, the current content or another document as whole files.

Changes made in FindChanged are not written back. XML compares elements only; protected YAML structures cannot be compared yet. Each side is limited to 5 MiB and 100,000 lines; larger content is offered as a download instead.

CSV editor

Open or drop a .csv, .tsv or .txt file and confirm the encoding, delimiter and header row in Parse settings.

  • Comma, semicolon and tab delimiters; UTF-8, UTF-16 and GB18030. If the encoding cannot be detected, choose it yourself with a preview.
  • Every field is text: leading zeros, long numbers, dates and spaces are kept exactly.
  • Double-click a cell to edit in place: Enter confirms, Shift+Enter adds a line break, Esc cancels. Insert or delete rows and columns, rename headers, paste a block.
  • Drag or Shift to extend a selection, Ctrl to add cells. Copies are tab-separated and paste straight into Excel.
  • Find, filter by column, and replace in the selection or the whole table with a preview.
  • The Source tab edits the CSV text; Apply source updates the table.

Saving rewrites only the edited records; other records, the encoding and line endings stay as they were. Deleting a column also deletes its filtered-out data, and the confirmation says so.

SQLite editor

Open a .sqlite, .sqlite3, .db or .db3 database, choose a table or view on the left, and page through 100 records at a time with column filters.

  • Double-click a field and choose the type to write: text, integer, real, NULL or BLOB (hex). Integers are exact 64-bit values, never rounded.
  • Add records (with defaults and automatic keys) and delete several rows. The database's own constraints, foreign keys and triggers apply, and a failed action is rolled back completely.
  • The Structure tab shows the table SQL read-only, ready to copy.

Read-only cases

  • Views, virtual tables, system tables, generated columns, and tables whose rows cannot be identified uniquely.
  • Databases in WAL mode: close the database in its own application (checkpoint) first.
  • Databases that already have foreign key errors do not accept new changes.

Saving writes the whole database file. Running arbitrary SQL, changing table structure and encrypted databases are not supported.

Excel editor

Open an .xlsx workbook, switch sheets, page through rows, go to an address and filter. Hidden rows and columns stay hidden unless you show them.

  • Double-click a cell to write text, a number, a boolean, a date, a formula or an error value. Text such as 001 keeps its leading zeros.
  • Pasting tab-separated text asks first and always writes text.
  • The Source tab edits the current sheet's XML; only values and formulas of existing cells may change.

Saving changes only the edited sheet; styles, charts and other sheets are kept. The browser does not calculate formulas: edited formulas are marked “needs recalculation”, so open the saved file in Excel to recalculate.

Limits

  • Legacy .xls files can be viewed and copied but not saved; save them as .xlsx in Excel first.
  • Protected sheets and workbooks with macros or signatures are read-only; only the top-left cell of a merged range can change; shared and array formula ranges are read-only.
  • Inserting or deleting whole rows or columns, formatting and renaming sheets are not supported.
  • Workbooks up to 30 MB (100 MB uncompressed); cell text up to 32,767 characters. Encrypted workbooks are not supported.

Local helper (right-click to open)

The XJY Editor helper is a small Windows program. After installing it, right-click a file in File Explorer and choose 用 XJY Editor 打开 to open it in your browser; Save then writes straight back to the file.

  • Supports .xml, .json, .yaml, .csv, .tsv, .sqlite, .sqlite3, .db, .db3, .xlsx and .xls, each in its own editor.
  • On Windows 11 the entry may be under Show more options. It appears for a single file only, not for several files or folders.
  • Double-click XJYEditorHelper.exe to install; no administrator rights are needed and default file associations do not change. Double-click the installed helper again, or use Windows Settings → Apps, to uninstall.
  • The helper works only on 127.0.0.1 and can reach only the file you chose; file contents never go through the website. Files up to 128 MiB.
  • The helper exits ten minutes after the page stops using it. Reloading the page does not relink the file; open it again from the menu.

Writing back CSV, SQLite and Excel files needs helper 0.3.0 or later; older helpers download on save instead.

Keyboard shortcuts

KeysActionWhere
Ctrl+SSaveAll editors
Ctrl+ZUndo (use the toolbar button in the SQLite editor)XJY Editor, CSV, Excel
Ctrl+Shift+ZRedoXJY Editor, CSV, Excel
Ctrl+YRedoCSV, Excel
Ctrl+KSearch nodesXJY Editor
Alt+← / →Back / forwardXJY Editor
Alt+↑Go to parentXJY Editor
EscClose search results; cancel a cell editAll editors
Enter / Shift+EnterConfirm a cell / line break in a cellTables
Ctrl+DSelect the next occurrence (multiple cursors)Source editing
Shift+right-clickShow the browser's own menuTables

Privacy and data

  • Reading, editing, converting and saving all happen in your browser. The web server only delivers the pages and never receives file contents.
  • Local drafts and interface preferences are kept in browser storage, readable only by this browser on this computer.
  • Open FindChanged and Send to FindChanged hand the chosen content to the FindChanged page in your browser (https://findchanged.com by default). Only the selected nodes or document are sent, and the original file is not changed.
  • The local helper works only on your computer and does not send files to the website.

Limits

  • XML DTDs are not supported; Schema validation covers a subset of declarations.
  • YAML anchors, aliases and custom tags are protected, and some actions (compare, convert) are unavailable for them.
  • Writing back to the original file needs a browser with file system access, such as Edge or Chrome; other browsers download on save.
  • The CSV, SQLite and Excel editors are currently available in Chinese only.

Frequently asked questions

Why does Save download a file?

This browser or address cannot write back to the original file: plain HTTP, the offline version, a browser other than Edge or Chrome, or a sample. Use the HTTPS address, or open the file with the local helper.

Saving says permission was denied

The browser asks for permission the first time you save; choose Allow. If you declined before, open the file again with Open file to be asked again.

Text looks garbled after opening

A file without a byte order mark that is not UTF-8 needs the right encoding in the Choose the file encoding window, for example GB18030 for Chinese text. Check the preview before opening.

It says the file was changed by another program

The file on disk changed after you opened it. Overwrite replaces the disk version with your content; Cancel leaves the disk file alone so you can export your content and compare first.

Is my work kept when I reload?

You are warned before leaving a page with unsaved changes. Save local draft keeps a recovery copy, but it does not replace saving the file.