Trasformazione funzionale di XML

In questo argomento viene illustrato l'approccio alla modifica di documenti XML basato sulla trasformazione funzionale pure. Tale approccio viene quindi messo a confronto con un approccio procedurale.

Modifica di un documento XML

Una delle attività più comuni richieste a un programmatore XML è la trasformazione di codice XML da una forma a un'altra. Per forma di un documento XML si intende la struttura del documento, che include:

  • La gerarchia espressa dal documento.

  • I nomi di elementi e attributi.

  • I tipi di dati di elementi e attributi.

In generale, l'approccio più efficace alla trasformazione di codice XML da una forma a un'altra è quello basato sulla trasformazione funzionale pure. In questo approccio l'attività principale del programmatore consiste nel creare una trasformazione che viene applicata all'intero documento XML (o a uno o più nodi definiti rigidamente). La trasformazione funzionale è decisamente la più facile da codificare (una volta che il programmatore ha familiarizzato con l'approccio), consente di ottenere codice più conservabile ed offre spesso maggior compattezza rispetto agli approcci alternativi.

Tecnologie per la trasformazione funzionale XML

Microsoft offre due tecnologie per la trasformazione funzionale utilizzabili con i documenti XML, ovvero XSLT e LINQ to XML. XSLT è supportato nello spazio dei nomi gestito System.Xml.Xsl e nell'implementazione COM nativa di MSXML. Sebbene XSLT sia una tecnologia affidabile per la modifica di documenti XML, richiede una certa esperienza in un dominio specializzato, ovvero quello del linguaggio XSLT e delle API che lo supportano.

LINQ to XML fornisce gli strumenti necessari per codificare trasformazioni funzionali pure in modo espressivo e potente all'interno di codice C# o Visual Basic. Ad esempio, in molti degli esempi della documentazione di LINQ to XML viene utilizzato un approccio funzionale pure. Inoltre, nell'esercitazione Modifica di informazioni in un documento WordprocessingML viene utilizzato LINQ to XML con un approccio funzionale per modificare le informazioni in un documento di Microsoft Word.

Per un confronto più completo tra LINQ to XML e altre tecnologie XML Microsoft, vedere Differenze tra LINQ to XML e altre tecnologie XML.

XSLT è lo strumento consigliato per effettuare trasformazioni basate su documenti in cui il documento di origine è caratterizzato da una struttura irregolare. Tuttavia, anche LINQ to XML è in grado di eseguire trasformazioni basate su documenti. Per ulteriori informazioni, vedere Procedura: utilizzare annotazioni per trasformare strutture ad albero LINQ to XML in uno stile XSLT.

Vedere anche

Concetti

Introduzione alle trasformazioni funzionali pure

Esercitazione: modifica di contenuto in un documento WordprocessingML

Differenze tra LINQ to XML e altre tecnologie XML