Visser Labs – Plugins de WooCommerce

Cómo exportar datos de WooCommerce a XML

Si necesitas tus datos de WooCommerce en un formato estructurado y legible por máquina, en lugar de una hoja de cálculo plana, el XML es el formato al que debes recurrir. Store Exporter Deluxe te permite exportar productos, pedidos, clientes o cualquier otro tipo de dato compatible como un documento XML válido, con cada registro envuelto en su propio nodo y listo para ser introducido en otro sistema, script o integración.

Este artículo cubre la configuración que se aplica a las exportaciones XML, la selección de XML como formato de exportación, cómo es la salida, dónde usarla y cómo los desarrolladores pueden personalizar la estructura de nodos con hooks.

Prerrequisitos

RequisitoDetalles
ComplementoStore Exporter Deluxe 5.4.5 o posterior está activo y con licencia
WooCommerceActivo, con al menos un registro del tipo que deseas exportar
Acceso de administradorNecesitarás una cuenta con acceso al panel de administración de WordPress
Herramienta compatible con XML (opcional)Un editor de texto, navegador o script si deseas inspeccionar o procesar la salida tú mismo

Paso 1: Establecer la codificación de caracteres

Las exportaciones XML utilizan la configuración de Codificación de Caracteres en Ajustes → Generales. Compruébala antes de iniciar la exportación:

  1. Ve a WooCommerce → Store Export en tu administrador de WordPress.
  2. Haz clic en Ajustes en la barra lateral.
  3. Abre la sección General.
  4. Comprueba el valor de Codificación de Caracteres.
  5. Haz clic en Guardar Cambios si lo has modificado.

Codificación de Caracteres tiene como valor predeterminado UTF-8, que cubre prácticamente todas las tiendas. También puedes elegir UTF-16, ISO-8859-1 o Windows-1252 si el sistema al que vas a enviar el archivo requiere específicamente uno de ellos. Lo que elijas se escribirá en la declaración XML del archivo (<?xml version="1.0" encoding="UTF-8"?>), para que la herramienta que lea el archivo sepa cómo interpretarlo.

Formato de Encabezado, también en Ajustes → Generales, solo se aplica a las exportaciones CSV, TSV, XLS y XLSX. Las exportaciones XML no tienen fila de encabezado. Los nombres de los campos de cada registro provienen de las propias etiquetas de las columnas, escritas como nombres de nodos, por lo que no hay nada que incluir o excluir.

El panel General de Configuración con el menú desplegable de Codificación de caracteres resaltado

Paso 2: Elegir XML como formato de exportación

  1. Haga clic en Exportación rápida en la barra lateral.
  2. En Seleccionar tipo de exportación, elija los datos que desea exportar, como Productos, Pedidos o Clientes.
  3. Elija sus columnas en Campos de exportación y cualquier filtro en Filtros y ordenación.
  4. En Opciones de Exportación, selecciona la casilla XML en Formato de Archivo.

XML está disponible para todos los tipos de exportación que admite el plugin, no solo para Productos y Pedidos.

El paso Formato de archivo de exportación rápida con la ficha XML seleccionada

Paso 3: Ejecutar la exportación

Haz clic en Ejecutar Exportación. Se abrirá el diálogo Exportación en Curso y se creará el documento XML con los campos y filtros seleccionados. Espera a que termine y, a continuación, haz clic en Descargar Archivo para guardar el archivo .xml.

La pantalla de Exportación rápida con el botón Ejecutar exportación resaltado

Si prefieres que esta exportación se ejecute automáticamente según un horario, consulta Cómo programar exportaciones. Las exportaciones programadas admiten XML de la misma manera que la Exportación Rápida.

Cómo es la salida

Cada exportación XML se envuelve en un único nodo raíz <store>, con un conjunto de atributos que describen la exportación en sí (la URL de tu sitio, la fecha de exportación, el nombre de tu tienda y el límite de registros de la exportación), seguido de un nodo hijo por registro. Una exportación de Productos se ve así:

<?xml version="1.0" encoding="UTF-8"?>
<store url="https://example.com" date="2026-10-01" name="Example Store" export="product" limit="100" offset="0">
  <product>
    <productsku>WIDGET-001</productsku>
    <productname>Blue Widget</productname>
    <price>19.99</price>
  </product>
  <product>
    <productsku>WIDGET-002</productsku>
    <productname>Red Widget</productname>
    <price>21.99</price>
  </product>
</store>

Qué atributos raíz aparecen depende de los interruptores en Ajustes → Formatos de Exportación → Formato XML.

El nodo de cada registro se nombra según el tipo de exportación (producto, pedido, cliente, etc.), y cada campo se convierte en un nodo hijo con el nombre de su etiqueta de columna, en minúsculas y sin espacios ni símbolos. Así, Nombre del Producto se convierte en productname. Renombra una columna en Campos de Exportación (a través de Gestionar Campos) para cambiar el nombre de su nodo.

Los caracteres especiales como < y & se escapan para que el archivo siga siendo XML válido, y los saltos de línea dentro de un valor se eliminan. Las categorías de productos siempre se escriben como CDATA.

Dónde usar una exportación XML

Dado que XML es un formato estructurado y autodescriptivo, es una buena opción para:

  • Scripts personalizados e integraciones: cualquier lenguaje con un analizador XML (PHP, Python, JavaScript, etc.) puede leer el archivo sin que tengas que escribir un analizador CSV personalizado.
  • Sistemas que esperan feeds XML: ERP, PIM y otras plataformas de terceros que aceptan datos como XML en lugar de archivos planos.
  • Inspeccionar la estructura de datos: la jerarquía de nodos hace que las relaciones padre/hijo (como los artículos de línea de un pedido) sean más fáciles de leer de un vistazo que una fila CSV aplanada.

Si estás exportando para volver a importar los datos en otra tienda WooCommerce o en una herramienta basada en hojas de cálculo, un formato plano como CSV (ver Primeros pasos con Store Exporter Deluxe) o XLSX suele ser la mejor opción, ya que la mayoría de las herramientas de importación, incluido el importador de productos de WooCommerce, se basan en archivos planos basados en filas.

Personalizar la estructura XML con hooks

Store Exporter Deluxe dispara un conjunto de hooks de filtro específicamente para exportaciones XML, permitiendo a un desarrollador renombrar nodos o cambiar qué atributos aparecen en el nodo raíz <store>, sin editar ningún archivo del plugin.

Para activar o desactivar atributos raíz sin escribir código, ve a Ajustes → Formatos de Exportación → Formato XML. Los filtros a continuación son para desarrolladores que necesitan el mismo control mediante programación.

Atributos del nodo raíz: cada atributo en el nodo <store> tiene su propio filtro de activación/desactivación, para que puedas eliminar cualquiera que no necesites:

FiltroControles
wsed_xml_attribute_urlEl atributo url (la URL de tu sitio)
woo_e_xml_attribute_dateEl atributo date
wsed_xml_attribute_timeEl atributo time (desactivado por defecto)
wsed_xml_attribute_titleEl atributo name (el nombre de tu tienda)
wsed_xml_attribute_exportEl atributo export (el tipo de exportación)
wsed_xml_attribute_orderbyEl atributo orderby
wsed_xml_attribute_orderEl atributo order
wsed_xml_attribute_limitEl atributo limit
wsed_xml_attribute_offsetEl atributo offset

Cada filtro recibe el valor actual de activado/desactivado. Devuelve false para eliminar ese atributo de la salida:

add_filter( 'wsed_xml_attribute_time', '__return_false' );

Nombres de nodos: wsed_export_xml_store_node renombra el nodo raíz <store>, y wsed_export_xml_order_node renombra el nodo por registro que envuelve cada tipo de exportación (a pesar del nombre, se aplica a productos, clientes, cupones y cualquier otro tipo de exportación, no solo a pedidos):

add_filter( 'wsed_export_xml_order_node', function( $node_name ) {
    return 'item';
} );

Este es el mismo conjunto de ganchos que se usa para envolver el contenido antes y después del conjunto de datos (wsed_export_xml_before_dataset, wsed_export_xml_after_dataset) y para controlar la declaración de apertura (wsed_export_xml_first_line). Para obtener la lista completa de ganchos que se ejecutan durante el proceso de exportación, incluidos los de salida RSS y los filtros de nodos por tipo heredados utilizados por las exportaciones CRON manuales, consulta Ganchos y filtros disponibles para una mayor personalización.

Esta es una personalización para desarrolladores. Si no te sientes cómodo añadiendo código a través de un plugin personalizado o el archivo functions.php de tu tema, abre un ticket de soporte y nuestro equipo podrá ayudarte.

Solución de problemas

El archivo XML no se abre o muestra un error de "XML no válido"
Establece la Codificación de caracteres en Ajustes → General a UTF-8, haz clic en Guardar cambios y vuelve a ejecutar la exportación. Este error generalmente significa que un campo contiene un carácter que la aplicación receptora no espera para la codificación que elegiste. UTF-8 cubre la gama más amplia de caracteres y es lo que la mayoría de los analizadores XML esperan por defecto.
Falta un campo en la salida XML
Comprueba que el campo esté realmente incluido en la selección de campos de tu exportación en la pantalla de Exportación Rápida. Solo las columnas seleccionadas se escriben como nodos. Si el campo está seleccionado pero su nodo está vacío o falta, comprueba que el registro tenga un valor para él.

Preguntas Frecuentes

¿Puedo renombrar los nodos XML sin escribir código?
Sí, para los nodos de campo. Cada nodo de campo utiliza la etiqueta de su columna, así que renombra la columna en Campos de exportación para cambiarlo. El nodo raíz <store> y el nodo por registro solo se pueden renombrar con los ganchos de filtro en Personalización de la estructura XML con ganchos arriba.
¿La exportación XML admite todos los tipos de datos que Store Exporter Deluxe puede exportar?
Sí. XML está disponible como opción de formato para cada tipo de exportación, incluyendo Productos, Pedidos, Clientes, Cupones, Suscripciones y el resto.
¿Cuál es la diferencia entre los formatos XML y RSS?
Ambos producen una salida estructurada en XML, pero RSS envuelve tus datos en una estructura de feed RSS 2.0 (nodos <rss> y <channel>) destinada a lectores de feeds y servicios que esperan ese esquema específico. RSS 2.0 solo está disponible en Exportaciones Programadas, no en Exportación Rápida. Usa XML para una exportación estructurada de propósito general, y RSS solo si el sistema al que lo estás enviando requiere específicamente un feed RSS.

¿Necesitas más ayuda?

Si estás usando Store Exporter Deluxe y encuentras un problema que este artículo no cubre, abre un ticket de soporte y nuestro equipo te ayudará a que tu exportación XML funcione.

Si estás usando el plugin gratuito Store Exporter, pregunta en el foro de soporte de WordPress.org y nuestro equipo te responderá allí.

¿Fue útil este artículo?

Artículos relacionados

Recursos y ayuda