Eseguire il mapping degli elementi XML alle celle in una mappa XML

Si applica a
Excel per Microsoft 365 Excel 2024 Excel 2021

Per importare ed esportare dati XML in Excel, utilizzare una mappa XML che associa gli elementi XML ai dati nelle celle. Questa associazione consente di ottenere i risultati desiderati. Per creare una mappa XML, sono necessari un file di schema XML (.xsd) e un file di dati XML (.xml). Dopo aver creato la mappa XML, è possibile mappare gli elementi XML nel modo desiderato.

Suggerimento

Per altre informazioni sull'utilizzo di XML con Excel, vedere la panoramica di XML in Excel.

Nota

Excel per Windows desktop è l'unica versione che offre funzionalità di mapping XML. Questi strumenti non sono disponibili in Excel per Mac o Excel per il web.

Le mappe XML sono una funzionalità legacy. Per molti scenari, usare Power Query in Excel per importare e trasformare dati XML, in particolare per strutture XML complesse o annidate.

Individuare o creare i file XML Schema e i file di dati XML

Potrebbe già essere disponibile un file XML Schema o un file di dati XML, creato da un altro database o un'altra applicazione. È il caso ad esempio di un'applicazione line-of-business che esporta dati in questi formati di file XML, di un sito Web commerciale che fornisce questi file XML o di un'applicazione personalizzata sviluppata dal reparto IT che crea automaticamente questi file XML.

Se non si dispone dei file XML necessari, è possibile crearli salvando i dati da usare come file di testo. Si può quindi usare sia Access che Excel per convertire il file di testo nei file XML necessari. Ecco la procedura:

Access

  1. Importare il file di testo da convertire e collegarlo a una nuova tabella.

    1. Selezionare Apri file>.
    2. Nella finestra di dialogo Apri selezionare e aprire il database in cui si vuole creare una nuova tabella.
    3. Selezionare Filedi testodati> esterni e seguire le istruzioni per ogni passaggio, assicurandosi di collegare la tabella al file di testo.
      La nuova tabella verrà creata e visualizzata nel riquadro di spostamento.
  2. Esportare i dati dalla tabella collegata a un file di dati XML e un file di schema XML.

    1. Selezionare Dati> esterniAltri>file XML (nel gruppo Esporta).
    2. Nella finestra di dialogo Esporta - File XML , specificare il nome e il formato del file e selezionare OK.
  3. Chiudere Access.

Excel

  1. Creare un mapping XML basato sul file XML Schema esportato da Access.
    Se viene visualizzata la finestra di dialogo Più nodi radice, scegliere dataroot in modo da creare una tabella XML.
  2. Creare una tabella XML eseguendo il mapping dell'elemento dataroot. Per altre informazioni, vedere Eseguire il mapping di elementi XML.
  3. Importare il file XML esportato da Access.

In alternativa, è possibile usare Power Query per importare direttamente i dati XML senza creare un file di schema XML.

Nota

  • Excel non supporta diversi tipi di costrutti di elementi XML Schema. I costrutti di elementi XML Schema seguenti non possono essere importati in Excel:
  • <qualsiasi> Questo elemento consente di includere elementi che non sono dichiarati dallo schema.
  • <anyAttribute> Questo elemento consente di includere attributi che non sono dichiarati dallo schema.
  • Strutture ricorsive Un esempio comune di struttura ricorsiva è una gerarchia di dipendenti e manager in cui gli stessi elementi XML sono nidificati su più livelli. Excel non supporta strutture ricorsive con più di un livello.
  • Elementi astratti Questi elementi devono essere dichiarati nello schema, ma mai usati come elementi. Gli elementi astratti dipendono da altri elementi che li sostituiscono.
  • Gruppi di sostituzione Questi gruppi consentono di scambiare un elemento ogni volta che viene fatto riferimento a un altro elemento. Un elemento indica di essere un membro del gruppo di sostituzione di un altro elemento tramite l'attributo <substitutionGroup> .
  • Contenuto misto Questo contenuto viene dichiarato usando mixed="true" in una definizione di tipo complesso. Excel non supporta il contenuto semplice del tipo complesso, ma supporta i tag e gli attributi figlio definiti nel tipo complesso.

Usare file XML Schema e file di dati XML di esempio

I dati di esempio seguenti includono elementi e strutture XML di base che è possibile usare per testare il mapping XML, se non si dispone di file XML o di testo per creare i file XML. Ecco come salvare questi dati di esempio in file nel computer:

  1. Selezionare il testo di esempio del file da copiare e premere CTRL+C.
  2. Avviare Blocco note e premere CTRL+V per incollare il testo di esempio.
  3. Premere CTRL+S per salvare il file con il nome e l'estensione dei dati di esempio copiati.
  4. Premere CTRL+N in Blocco note e ripetere i passaggi da 1 a 3 per creare un file per il secondo testo di esempio.
  5. Chiudere Blocco note.

Dati XML di esempio (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>

XML Schema di esempio (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>

Creare una mappa XML

Creare una mappa XML aggiungendo uno schema XML a una cartella di lavoro. È possibile copiare lo schema da un file di schema XML (.xsd) oppure Excel può provare a dedurne uno da un file di dati XML (.xml).

  1. Seleziona Origine sviluppatore>.
    Visualizzazione dati vuota
    Se la scheda Sviluppo non è visibile, vedere Visualizzare la scheda Sviluppo.

  2. Nel riquadro attività Origine XML , selezionare Mappe XML, quindi selezionare Aggiungi.

  3. Nell'elenco Cerca in selezionare l'unità, la cartella o il percorso Internet contenente il file che si desidera aprire.

  4. Selezionare il file e quindi scegliere Apri.

    • Per un file di schema XML, Excel crea una mappa XML basata sullo schema XML. Se viene visualizzata la finestra di dialogo Più nodi radice, scegliere uno dei nodi radice definiti nel file XML Schema.
    • Per un file di dati XML, Excel prova a dedurre lo schema XML dai dati XML e quindi crea una mappa XML.
  5. Selezionare OK.
    La mappa XML viene visualizzata nel riquadro attività Origine XML .

Eseguire il mapping di elementi XML

Eseguire il mapping degli elementi XML alle celle mappate singolarmente e alle celle ripetute nelle tabelle XML, in modo da poter creare una relazione tra la cella e l'elemento dati XML nello schema XML.

  1. Seleziona Origine sviluppatore>.
    Visualizzazione dati vuota
    Se la scheda Sviluppo non è visibile, vedere Visualizzare la scheda Sviluppo.

  2. Nel riquadro attività Origine XML selezionare gli elementi di cui eseguire il mapping.
    Per selezionare elementi non adiacenti, selezionare un elemento, quindi tenere premuto CTRL e selezionare ogni elemento da associare.

  3. Per mappare gli elementi, completare i passaggi seguenti:

    1. Fare clic con il pulsante destro del mouse sugli elementi selezionati e selezionare Elemento mappa.

    2. Nella finestra di dialogo Mappa elementi XML selezionare una cella e scegliere OK.

      Suggerimento

      È inoltre possibile trascinare gli elementi selezionati nella posizione del foglio di lavoro in cui si desidera inserirli.

      Ogni elemento verrà visualizzato in grassetto nel riquadro attività Origine XML per indicare che ne è stato eseguito il mapping.

  4. Determinare la modalità di gestione di etichette e intestazioni di colonna:

    • Quando si trascina un elemento XML non ripetuto nel foglio di lavoro per creare una singola cella mappata, viene visualizzato uno smart tag con tre comandi, che è possibile utilizzare per determinare la posizione dell'intestazione o dell'etichetta:
      I miei dati hanno già un'intestazione Selezionare questa opzione per ignorare l'intestazione dell'elemento XML, poiché la cella contiene già un'intestazione (a sinistra o sopra i dati).
      Posizionare l'intestazione XML a sinistra Selezionare questa opzione per usare l'intestazione dell'elemento XML come etichetta di cella a sinistra dei dati.
      Posiziona l'intestazione XML sopra Selezionare questa opzione per usare l'intestazione dell'elemento XML come intestazione di cella (sopra i dati).

    • Quando si trascina un elemento ripetuto nel foglio di lavoro per creare celle ripetute in una tabella XML, i nomi di elemento XML vengono automaticamente utilizzati come intestazioni di colonna per la tabella. È tuttavia possibile modificare le intestazioni di colonna in qualsiasi intestazione desiderata modificando le celle dell'intestazione di colonna.
      Nel riquadro attività Origine XML , selezionare Opzioni per controllare ulteriormente il comportamento delle tabelle XML:
      Unisci automaticamente gli elementi durante la mappatura Se questa casella di controllo è selezionata, Excel espande automaticamente le tabelle XML quando si trascina un elemento in una cella adiacente alla tabella XML.
      Dati con titoli Se questa casella di controllo è selezionata, è possibile utilizzare i dati esistenti come intestazioni di colonna quando si esegue il mapping tra elementi ripetuti e il foglio di lavoro.

      Nota

      • Se tutti i comandi XML sono visualizzati in grigio e non è possibile eseguire il mapping tra gli elementi XML e le celle, è possibile che la cartella di lavoro sia condivisa. Selezionare Rivedi Condividi>cartella di lavoro per verificarlo e rimuoverla dall'uso condiviso in base alle esigenze.

Per eseguire il mapping di elementi XML in una cartella di lavoro che si vuole condividere, è necessario eseguire il mapping tra gli elementi XML e le celle desiderate, importare i dati XML, rimuovere tutti i mapping XML e quindi condividere la cartella di lavoro. > - Se non è possibile copiare una tabella XML che contiene dati in un'altra cartella di lavoro, è possibile che alla tabella XML sia associata una mappa XML che definisce la struttura dei dati. Questo mapping XML è memorizzato nella cartella di lavoro, ma non viene incluso automaticamente quando si copia la tabella XML in una nuova cartella di lavoro. Invece di copiare la tabella XML, Excel crea una tabella di Excel che contiene gli stessi dati. Se si vuole che la nuova tabella sia una tabella XML, completare i passaggi seguenti: > 1. Aggiungere un mapping XML alla nuova cartella di lavoro usando il file con estensione xml o xsd usato per creare il mapping XML originale. È consigliabile salvare questi file se si vogliono aggiungere mapping XML ad altre cartelle di lavoro. > 1. Eseguire il mapping degli elementi XML alla tabella per renderla una tabella XML. > > - Quando si esegue il mapping di un elemento XML ripetuto a una cella unita, Excel separa la cella. Si tratta di un comportamento previsto, poiché gli elementi ripetuti possono essere usati solo con celle non unite.

È possibile eseguire il mapping tra singoli elementi XML non ripetuti e una cella unita, ma il mapping tra un elemento XML ripetuto (o un elemento che contiene un elemento ripetuto) e una cella unita non è consentito. La cella viene separata e l'elemento viene mappato alla cella in cui si trova il puntatore.

Suggerimento

  • È possibile annullare il mapping degli elementi XML che non si vuole usare o per impedire che il contenuto delle celle venga sovrascritto quando si importano dati XML. Ad esempio, si può annullare temporaneamente il mapping tra un elemento XML e una singola cella o celle ripetute che contengono formule che non devono essere sovrascritte durante l'importazione di un file XML. Una volta completata l'importazione, è possibile eseguire nuovamente il mapping dell'elemento XML alle celle della formula, in modo da poter esportare i risultati delle formule nel file di dati XML.
  • Per annullare il mapping degli elementi XML, fare clic con il pulsante destro del mouse sul relativo nome nel riquadro attività Origine XML e selezionare Rimuovi elemento.

Visualizzare la scheda Sviluppo

Se la scheda Sviluppo non è visualizzata, segui questa procedura per visualizzarla:

  1. SelezionareOpzionifile>.
  2. Selezionare la categoria Personalizza barra multifunzione .
  3. In Schede principali selezionare la casella Sviluppo e scegliere OK.

Vedere anche

Eliminare le informazioni della mappa XML da una cartella di lavoro

Aggiungere o sovrascrivere dati XML mappati

Panoramica di XML in Excel

Importare dati XML

Esportare dati XML