Documenti e dati XML

.NET Framework fornisce un set completo e integrato di classi tramite cui è possibile compilare facilmente applicazioni che supportano XML. Le classi negli spazi dei nomi seguenti supportano l'analisi e la scrittura del codice XML, la modifica dei dati XML in memoria, la convalida dei dati e la trasformazione XSLT.

Per un elenco completo, cercare "System.Xml" nel browser API .NET.

Le classi in questi spazi dei nomi supportano le raccomandazioni W3C (World Wide Web Consortium). Ad esempio:

Le classi XML in .NET Framework offrono i vantaggi seguenti:

  • Produttività.LINQ to XML (C#) e LINQ to XML (Visual Basic) semplificano il programmare con XML e offrono un'esperienza di query simile a SQL.

  • Estendibilità. Le classi XML di .NET Framework sono estendibili mediante l'utilizzo di classi astratte di base e metodi virtuali. Ad esempio, è possibile creare una classe derivata della classe XmlUrlResolver tramite cui viene archiviato il flusso della cache nel disco locale.

  • Architettura modulare. .NET Framework offre un'architettura in cui è possibile un utilizzo interscambiabile dei componenti e i dati possono essere trasmessi tra i componenti. Ad esempio, un archivio dati quale un oggetto XPathDocument o XmlDocument può essere trasformato con la classe XslCompiledTransform e l'output potrà quindi essere inserito in un flusso di un altro archivio o restituito come flusso da un servizio Web.

  • Prestazioni. Per prestazioni ottimali dell'applicazione, alcune delle classi XML di .NET Framework supportano un modello basato sul flusso con le caratteristiche seguenti:

    • Minimo utilizzo della memorizzazione nella cache per l'analisi di tipo forward-only, modello pull (XmlReader).

    • Convalida di tipo forward-only (XmlReader).

    • Tipo di navigazione tramite cursore grazie al quale la creazione di nodi è ridotta a un singolo nodo virtuale, fornendo nel contempo l'accesso casuale al documento (XPathNavigator).

    Per ottimizzare le prestazioni ogni volta che è necessaria l'elaborazione XSLT, è possibile usare la classe XPathDocument, vale a dire un archivio ottimizzato di sola lettura per query XPath progettate per interagire in modo efficiente con la classe XslCompiledTransform.

  • Integrazione con ADO.NET. Le classi XML e ADO.NET sono strettamente integrati per riunire dati relazionali e XML. La classe DataSet è una cache in memoria dei dati recuperati da un database. Con la classe DataSet è possibile leggere e scrivere il codice XML usando le classi XmlReader e XmlWriter, mantenere la struttura interna degli schemi relazionali come XML Schema (XSD) e dedurre la struttura dello schema di un documento XML.

Contenuto della sezione

Opzioni di elaborazione XML illustra le opzioni per l'elaborazione di dati XML.

Elaborazione di dati XML in memoria Vengono illustrati i tre modelli per l'elaborazione dei dati XML in memoria: LINQ to XML (C#) e LINQ to XML (Visual Basic), la XmlDocument classe (basata sul modello a oggetti documento W3C) e la XPathDocument classe (basata sul modello di dati XPath).

Trasformazioni XSLT
Viene descritto come usare il processore XSLT.

SOM (Schema Object Model) XML
Vengono descritte le classi usate per la compilazione e la modifica di XML Schema (XSD) fornendo una classe XmlSchema per il caricamento e la modifica di uno schema.

Integrazione di XML con dati relazionali e ADO.NET
Viene descritto come .NET Framework consente l'accesso in tempo reale e in modalità sincrona alle rappresentazioni sia relazionali sia gerarchiche di dati tramite gli oggetti DataSet e XmlDataDocument.

Gestione di spazi dei nomi in un documento XML
Viene descritto come viene usata la classe XmlNamespaceManager per archiviare e gestire le informazioni sugli spazi dei nomi.

Supporto di tipi di dati nelle classi System.Xml
Vengono descritti il mapping dei tipi di dati XML ai tipi CLR, la conversione di tipi di dati XML e altre funzionalità di supporto dei tipi nelle classi System.Xml.

ADO.NET
Vengono fornite informazioni sulle modalità di accesso ai dati usando ADO.NET.

Sicurezza
Viene fornita una panoramica sul sistema di sicurezza di .NET Framework.