--- title: 选用 XML:添加,取代和删除 summary: 阅读 sel,添加属性,检查预期的补丁文档. section: scripting kind: guide status: example updated: 2026-10-27 tags: ["X4","modding","xpath","selectors"] sources: ["https://chemodun.github.io/x4/modding-support/anatomy-of-an-extension/xml-diff-patching/","https://datatracker.ietf.org/doc/html/rfc5261"] --- ## 读一读路径 X4使用限制选择语言而不是所有XPath. 检查你的游戏 `libraries/diff.xsd`; XPath 编辑器的接受不证明X4兼容性. | 形式 | 含义 | | --- | --- | | `/items/item` | 项目子 项目根 | | `[@id='a']` | 属性过器 | | `/@enabled` | 属性本身 | | `//item[@id='a']` | 任何深度;检查独特性 | ## 学习输入 这些数据是发明的,而不是X4文件: ```xml ``` 独立补丁: ```xml true demo ``` ## 预期结果 ```xml ``` `replace` 改变现有属性, `add type="@label"` 增加一个, `remove` 删除b. 决赛 `add` 插入c 插进物品内 这是一个预期的转变,而不是日志输出或执行的游戏测试. ## 常见的错误 每次操作都需要一匹匹匹配. 取代一个整体元素也会消除它的老子女. 为了添加属性,选择通过 `sel` 给属性命名 `type`. 不要依赖 `contains()`, 工会 `|` 或任意的全 XPath 表达式. 首先要调查缺失的匹配: `silent` 通过不修复路径,将报告压制. 继续 [一个真正的船](wiki:editing-parameters) 和 [互动性](wiki:compatibility).