--- title: Selectores XML: añadir, reemplazar y eliminar por ejemplo summary: Leer sel, añadir un atributo e inspeccionar el documento parcheado esperado. 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"] --- ## Leer el camino X4 utiliza un lenguaje se selector restringido en lugar de todo XPath. Compruebe su juego `libraries/diff.xsd`; la aceptación por un editor XPath no prueba la compatibilidad con X4. | Forma | Significado | | --- | --- | | `/items/item` | elementos hijos de la raíz de los elementos | | `[@id='a']` | Filtro de atributos | | `/@enabled` | El atributo en sí | | `//item[@id='a']` | Cualquier profundidad; comprobar la singularidad | ## Aportaciones de aprendizaje Estos son datos inventados, no un archivo X4: ```xml ``` Parche independiente: ```xml true demo ``` ## Resultado esperado ```xml ``` `replace` cambia un atributo existente, `add type="@label"` añade uno, y `remove` Suprime b. La final `add` inserta c dentro de los elementos. Esta es una transformación esperada, no una salida de registro o una prueba de juego ejecutada. ## Errores comunes Compruebe una coincidencia para cada operación. Reemplazar un elemento entero también elimina a sus hijos antiguos. Para agregar un atributo, seleccione el elemento a través de `sel` y nombre el atributo a través de `type`. No confíes en `contains()`, Unión `|` o expresiones XPath completas arbitrarias. Investigar primero las coincidencias faltantes: `silent` suprime un informe sin fijar la ruta. [un verdadero parche de barco](wiki:editing-parameters) y [compatibilidad](wiki:compatibility).