Asignar elementos XML a celdas en una asignación XML

Se aplica a
Excel para Microsoft 365 Excel 2024 Excel 2021

Para importar y exportar datos XML en Excel, use un mapa XML que asocie elementos XML a los datos de las celdas. Esta asociación le ayuda a obtener los resultados que desea. Para crear una asignación XML, necesita un archivo de esquema XML (.xsd) y un archivo de datos XML (.xml). Después de crear la asignación XML, puede asignar elementos XML de la forma que desee.

Recomendación

Para obtener más información sobre el uso de XML con Excel, consulte la información general de XML en Excel.

Nota

Excel para escritorio de Windows es la única versión que ofrece características de asignación XML. Estas herramientas no están disponibles en Excel para Mac ni en Excel para la Web.

Los mapas XML son una característica heredada. En muchos escenarios, use Power Query en Excel para importar y transformar datos XML, especialmente para estructuras XML complejas o anidadas.

Locate or create XML schema and XML data files

If another database or application created an XML schema or XML data file, you might already have them available. For example, you might have a line-of-business application that exports data into these XML file formats, a commercial web site or web service that supplies these XML files, or a custom application developed by your IT department that automatically creates these XML files.

Si no tiene los archivos XML necesarios, puede crearlos guardando los datos que desea usar como un archivo de texto. You can then use both Access and Excel to convert that text file to the XML files you need. Aquí le explicamos cómo hacerlo:

Access

  1. Import the text file you want to convert and link it to a new table.

    1. Seleccione Archivo>Abrir.
    2. In the Open dialog box, select and open the database in which you want to create a new table.
    3. SeleccioneArchivo de textode datos> externos y siga las instrucciones de cada paso, asegurándose de vincular la tabla al archivo de texto.
      Access crea la nueva tabla y la muestra en el panel de navegación.
  2. Exporte los datos de la tabla vinculada a un archivo de datos XML y a un archivo de esquema XML.

    1. Seleccione Datos> externosMás>archivos XML (en el grupo Exportar).
    2. En el cuadro de diálogo Exportar - Archivo XML , especifique el nombre y el formato del archivo y seleccione Aceptar.
  3. Salga de Access.

Excel

  1. Create an XML Map based on the XML schema file you exported from Access.
    If the Multiple Roots dialog box appears, make sure you choose dataroot so you can create an XML table.
  2. Create an XML table by mapping the dataroot element. See Map XML elements for more information.
  3. Import the XML file you exported from Access.

Como alternativa, puede usar Power Query para importar datos XML directamente sin crear un archivo de esquema XML.

Nota

  • There are several types of XML schema element constructs Excel doesn't support. The following XML schema element constructs can't be imported into Excel:
  • <cualquiera> Este elemento permite incluir elementos que no han sido declarados por el esquema.
  • <anyAttribute> : este elemento permite incluir atributos que no han sido declarados por el esquema.
  • Estructuras recursivas Un ejemplo común de una estructura recursiva es una jerarquía de empleados y administradores en la que los mismos elementos XML se anidan en varios niveles. Excel doesn't support recursive structures more than one level deep.
  • Elementos abstractos Estos elementos están destinados a declararse en el esquema, pero nunca se usan como elementos. Los elementos abstractos dependen de otros elementos que se van a sustituir por el elemento abstracto.
  • Grupos de sustitución Estos grupos permiten intercambiar un elemento siempre que se haga referencia a otro elemento. Un elemento indica que es miembro del grupo de sustitución de otro elemento a través del <atributo substitutionGroup> .
  • Contenido mixto Este contenido se declara mediante mixed="true" en una definición de tipo complejo. Excel no es compatible con el contenido sencillo del tipo complejo, pero sí lo es con las etiquetas secundarias y los atributos definidos en dicho tipo complejo.

Use sample XML schema and XML data files

Los siguientes datos de ejemplo incluyen estructuras y elementos XML básicos que puede usar para probar la asignación XML si no tiene archivos XML o archivos de texto para crear los archivos XML. Esta es la manera de guardar estos datos de ejemplo en archivos en el equipo:

  1. Select the sample text of the file you want to copy, and press Ctrl+C.
  2. Start Notepad, and press Ctrl+V to paste the sample text.
  3. Press Ctrl+S to save the file with the file name and extension of the sample data you copied.
  4. Presione Ctrl+N en el Bloc de notas y repita los pasos del 1 al 3 para crear un archivo para el segundo texto de muestra.
  5. Salga del Bloc de notas.

Datos XML de muestra (Expenses.xml)


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
  <EmployeeInfo>
    <Name>Jane Winston</Name>
    <Date>2001-01-01</Date>
    <Code>0001</Code>
  </EmployeeInfo>
  <ExpenseItem>
    <Date>2001-01-01</Date>
    <Description>Airfare</Description>
    <Amount>500.34</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-01</Date>
    <Description>Hotel</Description>
    <Amount>200</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-01</Date>
    <Description>Taxi Fare</Description>
    <Amount>100.00</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-01</Date>
    <Description>Long Distance Phone Charges</Description>
    <Amount>57.89</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-01</Date>
    <Description>Food</Description>
    <Amount>82.19</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-02</Date>
    <Description>Food</Description>
    <Amount>17.89</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-02</Date>
    <Description>Personal Items</Description>
    <Amount>32.54</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-03</Date>
    <Description>Taxi Fare</Description>
    <Amount>75.00</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-03</Date>
    <Description>Food</Description>
    <Amount>36.45</Amount>
  </ExpenseItem>
  <ExpenseItem>
    <Date>2001-01-03</Date>
    <Description>New Suit</Description>
    <Amount>750.00</Amount>
  </ExpenseItem>
</Root>

Esquema XML de muestra (Expenses.xsd)


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Root">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
          <xsd:complexType>
            <xsd:all>
              <xsd:element minOccurs="0" maxOccurs="1" name="Name" />
              <xsd:element minOccurs="0" maxOccurs="1" name="Date" />
              <xsd:element minOccurs="0" maxOccurs="1" name="Code" />
            </xsd:all>
          </xsd:complexType>
        </xsd:element>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="Date" type="xsd:date"/>
              <xsd:element name="Description" type="xsd:string"/>
              <xsd:element name="Amount" type="xsd:decimal" />
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

Crear una asignación XML

Cree una asignación XML agregando un esquema XML a un libro. Puede copiar el esquema desde un archivo de esquema XML (.xsd) o Excel puede intentar inferir uno desde un archivo de datos XML (.xml).

  1. Seleccione elorigen del desarrollador>.
    Comandos XML en la pestaña Desarrollador
    Si no se muestra la pestaña Programador, vea Mostrar la pestaña Programador.

  2. En el panel de tareas Origen XML , seleccione Asignaciones XML y, después, haga clic en Agregar.

  3. En la lista Buscar en , seleccione la unidad, carpeta o ubicación de Internet que contiene el archivo que desea abrir.

  4. Seleccione el archivo y, a continuación, haga clic en Abrir.

    • Para un archivo de esquema XML, Excel crea un mapa XML basado en el esquema XML. If the Multiple Roots dialog box appears, choose one of the root nodes defined in the XML schema file.
    • Para un archivo de datos XML, Excel intenta inferir el esquema XML a partir de los datos XML y, después, crea un mapa XML.
  5. Seleccione Aceptar.
    La asignación XML aparece en el panel de tareas Origen XML .

Asignar elementos XML

Asigne elementos XML a celdas de asignación única y celdas repetidas en tablas XML para que pueda crear una relación entre la celda y el elemento de datos XML en el esquema XML.

  1. Seleccione elorigen del desarrollador>.
    Comandos XML en la pestaña Desarrollador
    Si no se muestra la pestaña Programador, vea Mostrar la pestaña Programador.

  2. In the XML Source task pane, select the elements you want to map.
    Para seleccionar elementos no adyacentes, seleccione un elemento, mantenga presionada la tecla Ctrl y seleccione cada elemento que quiera asignar.

  3. Para asignar los elementos, siga los pasos siguientes:

    1. Haga clic con el botón derecho en los elementos seleccionados y seleccione Elemento de mapa.

    2. En el cuadro de diálogo Asignar elementos XML , seleccione una celda y seleccione Aceptar.

      Recomendación

      Asimismo, puede arrastrar los elementos seleccionados a la ubicación de la hoja de cálculo en la que desee que aparezcan.

      Cada elemento aparece en negrita en el panel de tareas Origen XML para indicar que se ha asignado el elemento.

  4. Decida cómo desea utilizar las etiquetas y los encabezados de columnas:

    • Al arrastrar un elemento XML no extensible a la hoja de cálculo para crear una celda de asignación única, aparece una etiqueta inteligente con tres comandos, que puede usar para controlar la colocación del encabezado o etiqueta:
      Mis datos ya tienen un encabezado Seleccione esta opción para omitir el encabezado del elemento XML, ya que la celda ya tiene un encabezado (a la izquierda de los datos o encima de ellos).
      Colocar encabezado XML a la izquierda Seleccione esta opción para usar el encabezado del elemento XML como etiqueta de celda (a la izquierda de los datos).
      Colocar encabezado XML encima Seleccione esta opción para utilizar el encabezado del elemento XML como encabezado de celda (encima de los datos).

    • Al arrastrar un elemento XML de repetición a la hoja de cálculo para crear celdas de repetición en una tabla XML, los nombres de los elementos XML se usan automáticamente como encabezados de las columnas en la tabla. No obstante, puede modificar los encabezados de las columnas por cualquier otro que desee mediante la edición de las celdas de los encabezados de las columnas.
      En el panel de tareas Origen XML , seleccione Opciones para controlar aún más el comportamiento de la tabla XML:
      Combinar elementos automáticamente al asignar Cuando esta casilla está activada, Excel expande automáticamente las tablas XML al arrastrar un elemento a una celda adyacente a la tabla XML.
      Mis datos tienen título Cuando esta casilla está activada, se pueden usar los datos existentes como títulos de las columnas al asignar elementos de repetición a la hoja de cálculo.

      Nota

      • If all XML commands are dimmed, and you can't map XML elements to any cells, the workbook might be shared. Seleccione Revisar> ycompartir libro para comprobarlo y quitarlo del uso compartido según sea necesario.

If you want to map XML elements in a workbook you want to share, map the XML elements to the cells you want, import the XML data, remove all of the XML maps, and then share the workbook. > - Si no puede copiar una tabla XML que contiene datos en otro libro, es posible que la tabla XML tenga un mapa XML asociado que defina la estructura de datos. This XML Map is stored in the workbook, but when you copy the XML table to a new workbook, the XML Map isn't automatically included. Instead of copying the XML table, Excel creates an tabla de Excel that contains the same data. Si desea que la nueva tabla sea una tabla XML, siga estos pasos: > 1. Add an XML Map to the new workbook by using the .xml or .xsd file you used to create the original XML Map. You should save these files if you want to add XML Maps to other workbooks. > 1. Asigne los elementos XML a la tabla para convertirla en una tabla XML. > > - Cuando asigna un elemento XML repetido a una celda combinada, Excel anula la combinación de la celda. This is expected behavior, because repeating elements are designed to work with unmerged cells only.

You can map single, nonrepeating XML elements to a merged cell, but mapping a repeating XML element (or an element that contains a repeating element) to a merged cell isn't allowed. La celda no se puede combinar y el elemento se asigna a la celda donde se encuentra el puntero.

Recomendación

  • Puede desasignar elementos XML que no desee usar o para evitar que el contenido de las celdas se sobrescriba al importar datos XML. For example, you could temporarily unmap an XML element from a single cell or repeating cells that have formulas you don't want to overwrite when you import an XML file. Cuando se complete la importación, puede volver a asignar el elemento XML a las celdas de fórmulas, de modo que pueda exportar los resultados de las fórmulas al archivo de datos XML.
  • Para desasignar elementos XML, haga clic con el botón derecho en su nombre en el panel de tareas Origen XML y seleccione Quitar elemento.

Mostrar la pestaña Programador

Si no ve la pestaña Programador , siga estos pasos para mostrarla:

  1. Seleccione Archivo>Opciones.
  2. Seleccione la categoría Personalizar cinta de opciones .
  3. En Pestañas principales, marque la casilla Desarrollador y seleccione Aceptar.

Vea también

Eliminar información de mapa XML de un libro

Anexar o sobrescribir datos XML asignados

Información general sobre XML en Excel

Importar datos XML

Exportar datos XML