En esta Ruta de aprendizaje conectada, crearemos una Cadena que ilustra cómo convertir un archivo XML a CSV. Además, exploraremos cómo comparar conjuntos de datos para aislar las diferencias.
| Objetivo principal de aprendizaje | El conector XML |
| Objetivos de aprendizaje secundarios | Transformación tabular Filtros inteligentes, cambio de Delimitador y comandos de consulta avanzados. |
| Requisitos previos | Configura la Conexión del Conector XML |
| Plantilla de ayuda | CLP | Acceder a los datos XML |
Paso 1: Crea una Cadena
- Añade una nueva Cadena , y nombra la Cadena: CLP | Acceso a datos XML.
- Crea dos variables de Cadena como sigue:
- Debajo de Variables en cadena, haz clic en el signo más (+) dos veces.
- Utiliza los siguientes nombres y valores para las variables:
- Variable XML
- Nombre: cv-XML-Empleado
- Valor: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employees.xml
- Variable CSV
- Nombre: cv-CSV-Empleado
- Valor: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employee_detail.csv
- Variable XML
- Guarda la cadena.
Etapa 2: Recuperar datos en formato CSV
Utiliza el conector HTTP para recuperar datos relacionados con el recuento en formato CSV. En etapas posteriores, recuperaremos información similar sobre los recuentos en formato XML y, a continuación, compararemos los conjuntos de datos para identificar las diferencias.
- Añade un comando GET desde el conector HTTP al nodo Inicio.
-
Configura el comando utilizando los siguientes valores:
Nombre GET - Recuento en formato CSV Nombre de usuario <leave> Contraseña <leave> Certificado CA <leave> Certificado <leave> Certificado Clave Privada <leave> Mostrar respuesta Comprobado dirección URL|URL cv-CSV-Empleado Variable de cadena Cadena de consulta <leave> Tipo de contenido texto/csv Respuesta <leave> - Guarda el comando.
Etapa 3: Recuperar datos en formato XML
Utiliza el conector HTTP para recuperar datos relacionados con el recuento en formato XML. Como se indicó en la etapa 2, en una etapa posterior compararemos el conjunto de datos XML con el conjunto de datos CSV para identificar las diferencias.
- Añadir un comando GET desde el conector HTTP a la cadena.
- Conecta el nodo Inicio (OBTENER - Recuento en formato CSV) al comando OBTENER.
-
Configura el comando utilizando los siguientes valores:
Nombre GET - Recuento en formato XML Nombre de usuario <leave> Contraseña <leave> Certificado CA <leave> Certificado <leave> Certificado Clave Privada <leave> Mostrar respuesta Comprobado dirección URL|URL cv-XML-Employee Variable de cadena Cadena de consulta <leave> Tipo de contenido aplicación/xml Respuesta <leave> - Guarda el comando.
Etapa 4: Convierte el archivo XML a Delimitado.
Utiliza el Conector XML para convertir los datos XML a un formato CSV que nos permita aprovechar comandos posteriores de la Cadena que esperan datos en un formato delimitado.
- Añade un comando Lista de elementos a CSV desde el conector XML a la cadena.
- Conecta el comando GET - Recuento en formato XML a la lista de elementos a CSV.
- Configura este comando utilizando los siguientes valores:
- Para el parámetro Archivo de entrada, selecciona el parámetro Salida de respuesta del comando GET - Recuento de personal en formato XML.
- Deja en blanco el parámetro Entrada Texto.
- Para el parámetro Ruta a la raíz, introduce la siguiente información de sobre:
/employee_data/employee - Marca la casilla de verificación del parámetro Vista previa del resultado.
-
Para la sección Columnas, haz clic en el botón Añadir 12 veces.
Para cada una de las columnas Agregadas, introduce el nombre del campo del registro de datos previsualizado en el paso anterior en los campos Nombre de columna y XPath.
Ejemplo: emp_id⚠️ El campo XPath distingue entre mayúsculas y minúsculas y debe coincidir con el sobre.
- Para el parámetro Delimitador de valores múltiples, introduce un tubo (|).
- Guarda el comando.
- Publicar, Ejecutar y Ejecutar la cadena.
-
Revisa la pestaña Log del nodo de comando Lista de elementos a CSV - Todos los empleados y confirma que se muestra una lista de empleados.
⚠️ No te saltes la ejecución y revisión de resultados de este paso, ya que se creará una Copia de este Comando en la Cadena y, posteriormente, habría que corregir cualquier error en varias instancias del Comando.
Etapa 5: Cambiar el XML convertido de delimitado por pestañas a delimitado por comas.
Utiliza el conector de transformación tabular para convertir el resultado generado desde la conversión XML de un formato delimitado por pestañas a un formato delimitado por comas.
- Añadir un comando Cambiar Delimitador desde la transformación tabular Conector a la cadena.
- Conecta la lista de elementos al comando CSV - Todos los empleados al comando Cambiar delimitador.
- Configura este comando utilizando los siguientes valores:
- Nombre..: Cambiar Delimitador - Todos los Empleados
- Archivo de Entrada: Archivo Convertido de Salida de la Lista de Elementos a CSV - Todos los Empleados Comando
- Delimitador de Entrada: \t
- Delimitador de Salida:, (coma)
- Guarda el comando.
Etapa 6: Comparar los Conjuntos de datos CSV y XML para identificar las diferencias
Utiliza Consulta avanzada para identificar sistemáticamente las diferencias entre los conjuntos de datos XML y CSV nativos. En este ejemplo, identifica todos los registros del conjunto de datos XML que sean diferentes o que falten del conjunto de datos CSV. Cualquier registro adicional encontrado en el conjunto de datos CSV que no esté en el conjunto de datos XML no se identificará con este ejercicio.
- Añade un comando Consulta avanzada desde el conector de Transformación tabular a la cadena.
- Conecta el comando Cambiar Delimitador - Todos los empleados al comando Consulta avanzada.
- Nombre del comando: Consulta Avanzada - Todos los Empleados.
- En la sección Tablas, haz clic en el botón Añadir para añadir una segunda pestaña.
- Para la primera tabla:
- Especifica el Resultado CSV Salida desde el comando Delimitador de cambios - Todos los empleados.
- Especifica XML como Nombre de tabla .
- Para la segunda tabla:
- Especifica la Salida de Respuesta del Comando GET - Recuento en formato CSV.
Especifica CSV como Nombre de tabla . - En el parámetro Consulta, introduce lo siguiente:
Seleccionar * de XML EXCEPTO Seleccionar * de CSV - En los campos Delimitador de entrada y Delimitador de salida, especifica Coma.
- Marca la opción Vista previa de resultados.
- Especifica la Salida de Respuesta del Comando GET - Recuento en formato CSV.
- Para la primera tabla:
- Guarda el comando.
- Publicar, Ejecutar y Ejecutar la cadena.
-
Revisa la pestaña Registro del nodo Consulta avanzada - Todos los empleados Comando y confirma que los ID de los empleados coinciden con los de abajo para los registros devueltos por la consulta.
ID de empleado 01-6875791 10-4199621 38-3932553 63-0417180 78-3600453 85-6818050 97-2828467
Etapa 7: Añadir un grupo de comandos
Añadir un grupo de comandos a la cadena para organizar mejor los comandos. Aunque esta etapa es necesaria en lo que respecta a este ejercicio, no es un requisito técnico para la Cadena. Esta etapa sólo sirve para ilustrar la capacidad de organización de los nodos de una Cadena.
- Añadir un Grupo de comandos a la Cadena.
- Conecta el comando GET - Recuento en formato XML a la sección En del Grupo de comandos.
- Haz clic en el Grupo de comandos y selecciona el icono del cuentagotas para cambiar el color del comando a rojo.
- Nombre del Grupo: Empleados Activos.
Etapa 8: Filtrar datos CSV solo para empleados activos
Utiliza un filtrado inteligente para conservar solo los registros de empleados en los que el empleado esté activo. Al definir el filtro, suponemos que el campo terminado (denominado) en blanco indica que un empleado está activo.
- Añade un comando Filtro inteligente de filas desde el conector de transformación tabular a la cadena.
- Conecta el grupo Inicia desde el grupo de comandos al comando Filtro inteligente.
- Configura el Comando utilizando los siguientes valores:
- Ponle Nombre al Comando: Filtrar Filtros Inteligentes - Datos CSV - Empleados Activos.
- Para el parámetro Archivo de entrada, selecciona la Salida de respuesta del comando GET - Recuento de cabezas en formato CSV.
- Deja en blanco el parámetro Resultado: archivo.
- Especifica Coma como Delimitador.
- En la sección Filtros completa los pasos siguientes:
- Haz clic en el botón Añadir en los filtros Text.
- En el parámetro Nombre de la columna, introduce denominado.
- Marca la opción Insensible a mayúsculas y minúsculas.
- Desde el desplegable Condición, selecciona Igual a.
- En el parámetro Comparar texto, introduce verdadero.
- Marca la opción No está en.
- Deja sin marcar la casilla Recortar.
Este filtro identificará ahora cualquier registro en el que el campo "denominado" no contenga un valor de verdadero (es decir, que contenga "falso" o esté en blanco).
- Deja marcada la opción Vista previa del resultado.
- La opción Inverso permite que el Filtro Inteligente mantenga (Comprobado) o elimine (Desmarcado) todas las filas que coincidan con los criterios de filtrado. En este ejercicio, queremos conservar todas las filas en las que el campo "denominado" tenga un valor de verdadero o en blanco.
Para ello, marca (marca) la casilla Inversa. - Guarda el comando.
Etapa 8: Filtrar datos CSV solo para empleados activos
Utiliza un filtrado inteligente para conservar solo los registros de empleados en los que el empleado esté activo. Al definir el filtro, suponemos que el campo terminado ("terminado") está en blanco, lo que indica que un empleado está activo.
- Añade un comando Filtro inteligente de filas desde el conector de transformación tabular a la cadena.
- Conecta el grupo Inicia desde el grupo de comandos al comando Filtro inteligente.
- Configura el Comando utilizando los siguientes valores:
- Ponle Nombre al Comando: Filtrar Filas Inteligentes - Datos CSV - Empleados Activos.
- Para Archivo de entrada, selecciona Salida de respuesta del comando GET - Recuento de personal en formato CSV.
- Deja en blanco el parámetro Resultado: archivo.
- Especifica Coma como Delimitador.
- En la sección Filtros,
- Haz clic en el botón Añadir en los filtros Text.
- En el parámetro Nombre de la columna, introduce denominado.
- Marca la opción Insensible a mayúsculas y minúsculas.
- Desde el desplegable Condición, selecciona Igual a.
- En el parámetro Comparar texto, introduce verdadero.
- Marca la opción No está en.
- Deja sin marcar la casilla Recortar.
Este filtro identificará ahora cualquier registro en el que el campo "termed" no contenga un valor de verdadero (es decir, que contenga "falso" o esté en blanco).
- Deja marcada (checked) la casilla de verificación Vista previa Resultado.
- La opción Inverso permite que el Filtro Inteligente mantenga (marcada) o elimine (desmarcada) todas las filas que coincidan con los criterios de filtrado. En este ejercicio, queremos conservar todas las filas en las que el campo denominado tenga un valor de verdadero o esté en blanco. Para conseguirlo, marca (marca) la casilla de verificación Inversa.
- Guarda el comando.
Etapa 9: Filtrar datos XML al convertir a Delimitado
En esta etapa, filtramos los datos XML al convertirlos a un formato delimitado para identificar solo a los empleados activos. Este conjunto de datos se comparará posteriormente con el conjunto de datos CSV filtrado para identificar las diferencias.
- Copia la Lista de elementos a CSV - Todos los empleados Comando.
- Conecta el Grupo Empieza desde del Grupo de Comandos al Comando Lista de Elementos a CSV - Todos los Empleados (Copiar).
- Edita el comando, dándole un nombre: Lista de elementos a CSV - Empleados activos.
- En el parámetro "Ruta a la raíz", introduce lo siguiente.
/employee_data/employee[termed!='true']
Esto identificará ahora cualquier registro en el que el campo "termed" no contenga un valor de true (es decir, que contenga "false" o esté en blanco). - Guarda el comando.
Etapa 10: Cambia los Datos XML filtrados a Delimitados por Comas.
Al igual que con la lista de empleados completa, la lista de empleados activos filtrada que se ha convertido de XML a delimitada por pestañas debe convertirse a delimitada por comas.
- Copia el comando Delimitador de cambios - Todos los empleados.
- Conecta la Lista de Elementos a CSV - Comando Empleados Activos al Delimitador de Cambio de Elemento - Comando Todos los Empleados (Copiar).
- Configura el comando utilizando los siguientes valores.
- Nombre..: Cambiar Delimitador - Empleados Activos.
- Modifica el parámetro Archivo de entrada para utilizar el archivo Convertido Salida del comando Lista de elementos a CSV - Empleados activos.
- Guarda el comando.
Etapa 11: Comprobar las diferencias con los Empleados Activos
Al igual que con la lista de empleados completa, la lista de empleados activos filtrada que se ha convertido de XML a delimitada por pestañas debe convertirse a delimitada por comas.
- Copia el comando Consulta avanzada - Todos los empleados.
- Conecta el Out del Grupo de comandos al Consulta avanzada - Todos los empleados (Copiar) Comando. Si conectas el comando Consulta avanzada - Todos los empleados al Grupo de salida, te aseguras de que todo lo que esté conectado al Grupo de salida termine antes de que la cadena avance hacia los comandos del Grupo de salida.
- Configura el Comando utilizando los siguientes valores:
- Nombre..: Consulta Avanzada - Empleados Activos.
-
En la sección Tablas, modifica el parámetro Archivo para ambas tablas utilizando los siguientes valores:
Tabla Archivo XML Salida de resultado CSV desde el comando Cambiar delimitador - Empleados Activos archivo .csv Filtro inteligente Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro desde el Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro Filtro.
- Guarda el comando.
Etapa 12: Evaluar el ejercicio
Ahora que la Cadena está completa, evalúa el resultado.
- Publica en la Cadena.
- Haz clic en Ejecutar y selecciona Ejecutar cadena.
- Una vez que la Cadena haya completado su ejecución, haz clic en el nodo Consulta Avanzada - Empleados Activos.
- En la pestaña Resultados, confirma que han salido 4 Registros.
-
Haz clic en la pestaña Registros y confirma que los ID de los empleados coinciden con los de abajo para los registros devueltos por la consulta.
ID de empleado 01-6875791 63-0417180 78-3600453 85-6818050
¡Para saber más sobre la transformación de datos mediante Cadenas, consulta Rutas de aprendizaje conectadas - Introducción a la transformación!