XML TaskXML Task

L'attività XML consente di eseguire operazioni su dati in formato XML.The XML task is used to work with XML data. Tramite questa attività un pacchetto può recuperare documenti XML, applicare operazioni ai documenti utilizzando fogli di stile XSLT (Extensible Stylesheet Language Transformation) ed espressioni XPath, unire più documenti oppure convalidare, confrontare e salvare i documenti aggiornati in file e variabili.Using this task, a package can retrieve XML documents, apply operations to the documents by using Extensible Stylesheet Language Transformations (XSLT) style sheets and XPath expressions, merge multiple documents, or validate, compare, and save the updated documents to files and variables.

Questa attività consente ai pacchetti di Integration ServicesIntegration Services di modificare dinamicamente documenti XML in fase di esecuzione.This task enables an Integration ServicesIntegration Services package to dynamically modify XML documents at run time. È possibile utilizzare l'attività XML per gli scopi seguenti:You can use the XML task for the following purposes:

  • Riformattare un documento XML.Reformat an XML document. L'attività può ad esempio accedere a un report che risiede in un file XML e applicare dinamicamente un foglio di stile XSLT per personalizzare la presentazione del documento.For example, the task can access a report that resides in an XML file and dynamically apply an XSLT style sheet to customize the document presentation.

  • Selezionare sezioni di un documento XML.Select sections of an XML document. L'attività può ad esempio accedere a un report che risiede in un file XML e applicare dinamicamente un'espressione XPath per selezionare una sezione del documento.For example, the task can access a report that resides in an XML file and dynamically apply an XPath expression to select a section of the document. L'operazione può inoltre ottenere ed elaborare valori nel documento.The operation can also get and process values in the document.

  • Unire più documenti da numerose origini.Merge documents from many sources. L'attività può ad esempio scaricare report da più origini e unirli dinamicamente in un documento XML riepilogativo.For example, the task can download reports from multiple sources and dynamically merge them into one comprehensive XML document.

  • Convalidare un documento XML e, facoltativamente, ottenere un output dettagliato degli errori.Validate an XML document and optionally get detailed error output. Per ulteriori informazioni, vedere Validate XML with the XML Task.For more info, see Validate XML with the XML Task.

    È possibile includere dati XML in un flusso di dati utilizzando un'origine XML per estrarre valori da un documento XML.You can include XML data in a data flow by using an XML source to extract values from an XML document. Per altre informazioni, vedere Origine XML.For more information, see XML Source.

Operazioni XMLXML Operations

La prima azione eseguita dall'attività XML consiste nel recupero di un documento XML specifico.The first action the XML task performs is to retrieve a specific XML document. Tale azione è incorporata nell'attività XML e viene eseguita automaticamente.This action is built into the XML task and occurs automatically. Il documento XML recuperato viene utilizzato come origine dei dati per l'operazione eseguita dall'attività XML.The retrieved XML document is used as the source of data for the operation that the XML task performs.

Le operazioni XML Diff, Merge e Patch richiedono due operandi.The XML operations Diff, Merge, and Patch require two operands. Il primo operando specifica il documento XML di origine.The first operand specifies the source XML document. Il secondo specifica un documento XML il cui contenuto dipende dai requisiti dell'operazione.The second operand also specifies an XML document, the contents of which depend on the requirements of the operation. L'operazione Diff, ad esempio, confronta due documenti. Il secondo operando specifica pertanto un altro documento XML simile, con cui confrontare il documento XML di origine.For example, the Diff operation compares two documents; therefore, the second operand specifies another, similar XML document to which the source XML document is compared.

L'attività XML può utilizzare una variabile o una gestione connessione file come origine oppure includere i dati XML in una proprietà dell'attività.The XML task can use a variable or a File connection manager as its source, or include the XML data in a task property.

Se l'origine è una variabile, la variabile specificata conterrà il percorso del documento XML.If the source is a variable, the specified variable contains the path of the XML document.

Se l'origine è una gestione connessione file, le informazioni sull'origine verranno fornite dalla gestione connessione file specificata,If the source is a File connection manager, the specified File connection manager provides the source information. configurata separatamente, a cui viene fatto riferimento dall'attività XML.The File connection manager is configured separately from the XML task, and is referenced in the XML task. La stringa di connessione della gestione connessione file specifica il percorso del file XML.The connection string of the File connection manager specifies the path of the XML file. Per altre informazioni, vedere File Connection Manager.For more information, see File Connection Manager.

L'attività XML può essere configurata in modo da salvare il risultato dell'operazione in una variabile o in un file.The XML task can be configured to save the result of the operation to a variable or to a file. Se il risultato viene salvato in un file, l'attività XML utilizzerà una gestione connessione file per accedervi.If saving to a file, the XML task uses a File connection manager to access the file. Anche i risultati del Diffgram generato dall'operazione Diff possono essere salvati in file e variabili.You can also save the results of the Diffgram generated by the Diff operation to files and variables.

Operazioni XML predefinitePredefined XML Operations

L'attività XML include un set predefinito di operazioni applicabili ai documenti XML,The XML task includes a predefined set of operations for working with XML documents. descritte nella tabella seguente.The following table describes these operations.

OperazioneOperation DescriptionDescription
DiffDiff Consente di confrontare due documenti XML.Compares two XML documents. Utilizzando il documento XML di origine come documento di base, l'operazione Diff esegue un confronto con un secondo documento XML, rileva le differenze e le scrive in un documento Diffgram in formato XML.Using the source XML document as the base document, the Diff operation compares it to a second XML document, detects their differences, and writes the differences to an XML Diffgram document. Questa operazione include proprietà per la personalizzazione del confronto.This operation includes properties for customizing the comparison.
MergeMerge Consente di unire due documenti XML.Merges two XML documents. Utilizzando il documento XML di origine come documento di base, l'operazione Merge aggiunge il contenuto di un secondo documento al documento di base.Using the source XML document as the base document, the Merge operation adds the content of a second document into the base document. L'operazione può specificare una posizione di unione nel documento di base.The operation can specify a merge location within the base document.
PatchPatch Applica l'output dell'operazione Diff, detto documento Diffgram, a un documento XML, per creare un nuovo documento padre che include il contenuto del documento Diffgram.Applies the output from the Diff operation, called a Diffgram document, to an XML document, to create a new parent document that includes content from the Diffgram document.
ConvalidaValidate Consente di convalidare il documento XML in base a una schema di definizione DTD (Document Type Definition) o XSD (XML Schema Definition).Validates the XML document against a Document Type Definition (DTD) or XML Schema definition (XSD) schema.
XPathXPath Consente di eseguire valutazioni e query XPath.Performs XPath queries and evaluations.
XSLTXSLT Consente di eseguire trasformazioni XSL in documenti XML.Performs XSL transformations on XML documents.

Operazione DiffDiff Operation

L'operazione Diff può essere configurata in modo da utilizzare un algoritmo di confronto diverso a seconda che il confronto debba essere rapido o preciso.The Diff operation can be configured to use a different comparison algorithm depending on whether the comparison must be fast or precise. L'operazione può essere inoltre configurata in modo da selezionare automaticamente il confronto rapido o preciso, in base alle dimensioni dei documenti da confrontare.The operation can also be configured to automatically select a fast or precise comparison based on the size of the documents being compared.

L'operazione Diff include un set di opzioni per la personalizzazione del confronto XML,The Diff operation includes a set of options that customize the XML comparison. Nella tabella seguente vengono descritte le opzioni disponibili.The following table describes the options.

OpzioneOption DescriptionDescription
IgnoreCommentsIgnoreComments Valore che specifica se i nodi dei commenti devono essere confrontati.A value that specifies whether comment nodes are compared.
IgnoreNamespacesIgnoreNamespaces Valore che specifica se l'URI (Uniform Resource Identifier) dello spazio dei nomi di un elemento e i nomi dei suoi attributi devono essere confrontati.A value that specifies whether the namespace uniform resource identifier (URI) of an element and its attribute names are compared. Se questa opzione è impostata su true, due elementi con lo stesso nome locale e spazio dei nomi diverso verranno considerati identici.If this option is set to true, two elements that have the same local name but a different namespace are considered to be identical.
IgnorePrefixesIgnorePrefixes Valore che specifica se i prefissi degli elementi e i nomi degli attributi vengono confrontati.A value that specifies whether prefixes of element and attribute names are compared. Se questa opzione è impostata su true, due elementi con lo stesso nome locale ma prefisso e URI dello spazio dei nomi diversi verranno considerati identici.If this option is set to true, two elements that have the same local name but a different namespace URI and prefix are considered identical.
IgnoreXMLDeclarationIgnoreXMLDeclaration Valore che specifica se le dichiarazioni XML devono essere confrontate.A value that specifies whether the XML declarations are compared.
IgnoreOrderOfChildElementsIgnoreOrderOfChildElements Valore che specifica se l'ordine degli elementi figli viene confrontato.A value that specifies whether the order of child elements is compared. Se questa opzione è impostata su true, gli elementi figli che differiscono solo per la posizione in un elenco di elementi di pari livelli vengono considerati identici.If this option is set to true, child elements that differ only in their position in a list of siblings are considered to be identical.
IgnoreWhiteSpacesIgnoreWhiteSpaces Valore che specifica se gli spazi devono essere confrontati.A value that specifies whether white spaces are compared.
IgnoreProcessingInstructionsIgnoreProcessingInstructions Valore che specifica se le istruzioni di elaborazione devono essere confrontate.A value that specifies whether processing instructions are compared.
IgnoreDTDIgnoreDTD Valore che specifica se il DTD deve essere ignorato.A value that specifies whether the DTD is ignored.

Operazione MergeMerge Operation

Quando si utilizza un'istruzione XPath per identificare la posizione di unione nel documento di origine, è previsto che tale istruzione restituisca un unico nodo.When you use an XPath statement to identify the merge location in the source document, this statement is expected to return a single node. Se l'istruzione restituisce più nodi, viene utilizzato solo il primo nodo.If the statement returns multiple nodes, only the first node is used. Il contenuto del secondo documento viene unito sotto il primo nodo restituito dalla query XPath.The contents of the second document are merged under the first node that the XPath query returns.

Operazione XPathXPath Operation

L'operazione XPath può essere configurata in modo da utilizzare diversi tipi di funzionalità XPath.The XPath operation can be configured to use different types of XPath functionality.

  • Per implementare funzioni XPath come sum(), selezionare l'opzione Valutazione .Select the Evaluation option to implement XPath functions such as sum().

  • Per restituire come frammento XML i nodi selezionati, selezionare l'opzione Elenco dei nodi .Select the Node list option to return the selected nodes as an XML fragment.

  • Per restituire il valore del testo interno di tutti i nodi selezionati, concatenato in modo da formare una stringa, selezionare l'opzione Valori .Select the Values option to return the inner text value of all the selected nodes, concatenated into a string.

Operazione ValidationValidation Operation

L'operazione Validate può essere configurata in modo da utilizzare un file DTD (Document Type Definition) o uno schema XSD (XML Schema Definition).The Validation operation can be configured to use either a Document Type Definition (DTD) or XML Schema definition (XSD) schema.

Abilitare ValidationDetails per ottenere output dettagliato degli errori.Enable ValidationDetails to get detailed error output. Per ulteriori informazioni, vedere Validate XML with the XML Task.For more info, see Validate XML with the XML Task.

Codifica dei documenti XMLXML Document Encoding

L'attività XML supporta solo l'unione di documenti Unicode.The XML task supports merging of Unicode documents only. È pertanto possibile applicare l'operazione Merge solo a documenti con codifica Unicode.This means the task can apply the Merge operation only to documents that have a Unicode encoding. Se si utilizzano altre codifiche, l'attività XML non verrà completata.Use of other encodings will cause the XML task to fail.

Nota

Le operazioni Diff e Patch includono un'opzione che consente di ignorare la dichiarazione XML nei dati XML del secondo operando e questo consente di utilizzare documenti con altre codifiche in tali operazioni.The Diff and Patch operations include an option to ignore the XML declaration in the second-operand XML data, making it possible to use documents that have other encodings in these operations.

Per verificare se il documento XML può essere utilizzato, esaminare la dichiarazione XML.To verify that the XML document can be used, review the XML declaration. La dichiarazione deve specificare esplicitamente UTF-8, che indica la codifica Unicode a 8 bit.The declaration must explicitly specify UTF-8, which indicates 8-bit Unicode encoding.

Nel tag seguente è specificata la codifica Unicode a 8 bit.The following tag shows the Unicode 8-bit encoding.

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

Messaggi di registrazione personalizzati disponibili nell'attività XMLCustom Logging Messages Available on the XML Task

Nella tabella seguente è indicata la voce di log personalizzata disponibile per l'attività XML.The following table describes the custom log entry for the XML task. Per altre informazioni, vedere registrazione di Integration Services (SSIS).For more information, see Integration Services (SSIS) Logging.

Voce di logLog entry DescriptionDescription
XMLOperationXMLOperation Fornisce informazioni sull'operazione eseguita dall'attività.Provides information about the operation that the task performs

Configurazione dell'attività XMLConfiguration of the XML Task

È possibile impostare le proprietà tramite Progettazione SSISSSIS o a livello di codice.You can set properties through SSISSSIS Designer or programmatically.

Per ulteriori informazioni sulle proprietà che è possibile impostare in Progettazione SSISSSIS , fare clic su uno degli argomenti seguenti:For more information about the properties that you can set in SSISSSIS Designer, click one of the following topics:

Configurazione a livello di codice dell'attività XMLProgrammatic Configuration of the XML Task

Per ulteriori informazioni sull'impostazione di queste proprietà a livello di codice, fare clic sull'argomento seguente:For more information about programmatically setting these properties, click the following topic:

Impostare le proprietà di un'attività o di un contenitoreSet the Properties of a Task or Container