Condividi tramite


Attività XML

L'attività XML viene utilizzata per lavorare con i dati XML. Usando questa attività, un pacchetto può recuperare documenti XML, applicare operazioni ai documenti usando fogli di stile XSLT (Extensible Stylesheet Language Transformations) e espressioni XPath, unire più documenti o convalidare, confrontare e salvare i documenti aggiornati in file e variabili.

Questa attività consente a un pacchetto di Integration Services di modificare in modo dinamico i documenti XML in fase di esecuzione. È possibile utilizzare l'attività XML ai fini seguenti:

  • Riformattare un documento XML. Ad esempio, l'attività può accedere a un report che risiede in un file XML e applicare dinamicamente un foglio di stile XSLT per personalizzare la presentazione del documento.

  • Selezionare le sezioni di un documento XML. Ad esempio, l'attività può accedere a un report che si trova in un file XML e applicare dinamicamente un'espressione XPath per selezionare una sezione del documento. L'operazione può anche ottenere ed elaborare i valori nel documento.

  • Unire documenti da molte origini. Ad esempio, l'attività può scaricare report da più origini e unirli dinamicamente in un unico documento XML completo.

  • Convalidare un documento XML e, facoltativamente, ottenere un output dettagliato degli errori. Per ulteriori informazioni, vedere Convalida XML con l'attività XML.

È possibile includere dati XML in un flusso di dati utilizzando un'origine XML per estrarre valori da un documento XML. Per altre informazioni, vedere Origine XML.

Operazioni XML

La prima azione eseguita dall'attività XML consiste nel recuperare un documento XML specifico. Questa azione è incorporata nell'attività XML e viene eseguita automaticamente. Il documento XML recuperato viene utilizzato come origine dei dati per l'operazione eseguita dall'attività XML.

Le operazioni XML Diff, Merge e Patch richiedono due operandi. Il primo operando specifica il documento XML di origine. Il secondo operando specifica anche un documento XML, il cui contenuto dipende dai requisiti dell'operazione. Ad esempio, l'operazione Diff confronta due documenti; pertanto, il secondo operando specifica un altro documento XML simile al quale viene confrontato il documento XML di origine.

L'attività XML può utilizzare una variabile o un gestore connessione file come fonte oppure includere i dati XML in una proprietà dell'attività.

Se l'origine è una variabile, la variabile specificata contiene il percorso del documento XML.

Se l'origine è un gestore di connessione file, il gestore di connessione file specificato fornisce le informazioni di origine. La gestione connessione file viene configurata separatamente dall'attività XML e viene fatto riferimento nell'attività XML. La stringa di connessione della gestione connessione file specifica il percorso del file XML. Per altre informazioni, vedere File Connection Manager.

L'attività XML può essere configurata per salvare il risultato dell'operazione in una variabile o in un file. Se si salva in un file, l'attività XML utilizza un gestore di connessione al file per accedere al file. È anche possibile salvare i risultati dell'operazione Diffgram generata dall'operazione Diff in file e variabili.

Operazioni XML predefinite

L'attività XML include un set predefinito di operazioni per l'utilizzo di documenti XML. descritte nella tabella seguente.

Operazione Descrizione
Differenza Confronta due documenti XML. Usando il documento XML di origine come documento di base, l'operazione Diff lo confronta con un secondo documento XML, rileva le differenze e scrive le differenze in un documento Diffgram XML. Questa operazione include proprietà per la personalizzazione del confronto.
Fusione Unisce due documenti XML. Utilizzando il documento XML di origine come documento di base, l'operazione di merge aggiunge il contenuto di un secondo documento nel documento di base. L'operazione può specificare un punto di unione nel documento di base.
Patch Applica l'output dell'operazione Diff, denominato documento Diffgram, a un documento XML, per creare un nuovo documento padre che include il contenuto del documento Diffgram.
Convalidare Convalida il documento XML rispetto a uno schema DTD (Document Type Definition) o XML Schema Definition (XSD).
XPath Effettua interrogazioni e valutazioni XPath.
XSLT Esegue trasformazioni XSL nei documenti XML.

Operazione Diff

L'operazione Diff può essere configurata per l'uso di un algoritmo di confronto diverso a seconda che il confronto sia veloce o preciso. L'operazione può anche essere configurata per selezionare automaticamente un confronto rapido o preciso in base alle dimensioni dei documenti confrontati.

L'operazione Diff include un set di opzioni che personalizzano il confronto XML. Nella seguente tabella vengono illustrate le opzioni.

Opzione Descrizione
IgnoreComments Valore che specifica se i nodi di commento vengono confrontati.
IgnoreNamespaces Un valore che specifica se l'URI (Uniform Resource Identifier) dello spazio dei nomi di un elemento e i suoi nomi di attributo vengono confrontati. Se questa opzione è impostata su true, due elementi con lo stesso nome locale ma uno spazio dei nomi diverso vengono considerati identici.
IgnorePrefixes Valore che specifica se vengono confrontati i prefissi di nomi di elementi e attributi. Se questa opzione è impostata su true, due elementi con lo stesso nome locale, ma un URI e un prefisso dello spazio dei nomi diversi vengono considerati identici.
IgnoreXMLDeclaration Valore che specifica se le dichiarazioni XML vengono confrontate.
IgnoreOrderOfChildElements Un valore che specifica se l'ordine degli elementi figlio viene confrontato. Se questa opzione è impostata su true, gli elementi figlio che differiscono solo nella loro posizione in un elenco di fratelli vengono considerati identici.
IgnoreWhiteSpaces Valore che specifica se vengono confrontati gli spazi vuoti.
IgnoreProcessingInstructions Valore che specifica se vengono confrontate le istruzioni di elaborazione.
IgnoreDTD Valore che specifica se il DTD viene ignorato.

Operazione di unione

Quando si usa un'istruzione XPath per identificare il percorso di unione nel documento di origine, si prevede che questa istruzione restituisca un singolo nodo. Se l'istruzione restituisce più nodi, viene usato solo il primo nodo. Il contenuto del secondo documento viene unito nel primo nodo restituito dalla query XPath.

Operazione XPath

L'operazione XPath può essere configurata per l'uso di diversi tipi di funzionalità XPath.

  • Selezionare l'opzione Valutazione per implementare funzioni XPath, ad esempio sum().

  • Selezionare l'opzione Elenco nodi per restituire i nodi selezionati come frammento XML.

  • Selezionare l'opzione Valori per restituire il valore di testo interno di tutti i nodi selezionati, concatenati in una stringa.

Operazione di convalida

L'operazione di convalida può essere configurata per l'utilizzo di uno schema DTD (Document Type Definition) o XSD (XML Schema Definition).

Abilitare ValidationDetails per ottenere un output dettagliato degli errori. Per ulteriori informazioni, vedere Convalida XML con l'Attività di XML.

Codifica documento XML

L'attività XML supporta solo l'unione di documenti Unicode. Ciò significa che l'attività può applicare l'operazione di merge solo ai documenti con codifica Unicode. L'uso di altre codifiche causerà l'esito negativo dell'attività XML.

Annotazioni

Le operazioni Diff e Patch includono un'opzione per ignorare la dichiarazione XML nei dati XML del secondo operando, rendendo possibile l'uso di documenti con altre codifiche in queste operazioni.

Per verificare che il documento XML possa essere utilizzato, esaminare la dichiarazione XML. La dichiarazione deve specificare in modo esplicito UTF-8, che indica la codifica Unicode a 8 bit.

Il tag seguente mostra la codifica a 8 bit Unicode.

<?xml version="1.0" encoding="UTF-8"?>

Messaggi di registrazione personalizzati disponibili nell'attività XML

Nella tabella seguente viene descritta la voce di registro personalizzata per l'attività XML. Per ulteriori informazioni, vedere Registrazione di Integration Services (SSIS) e Messaggi Personalizzati per la Registrazione.

Voce di log Descrizione
XMLOperation Fornisce informazioni sull'operazione eseguita dall'attività

Configurazione dell'attività XML

È possibile impostare le proprietà tramite Progettazione SSIS o a livello di codice.

Per altre informazioni sulle proprietà che è possibile impostare in Progettazione SSIS, fare clic su uno degli argomenti seguenti:

Per altre informazioni su come impostare le proprietà in Progettazione SSIS, fare clic sull'argomento seguente:

Configurazione a livello di codice dell'attività XML

Per ulteriori informazioni sull'impostazione di queste proprietà a livello di codice, fare clic sull'argomento seguente:

Impostare le proprietà di un'attività o di un contenitore