Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Creazione di lettori XML

Le istanze di XmlReader vengono create utilizzando il metodo Create. La classe XmlReaderSettings consente di specificare il set di funzionalità da abilitare per l'oggetto XmlReader.

Nota importante Importante

Sebbene in Microsoft .NET Framework siano incluse implementazioni complete della classe XmlReader, quali le classi XmlTextReader, XmlNodeReader e XmlValidatingReader, nella versione 2.0 di .NET Framework è consigliabile creare istanze di XmlReader utilizzando il metodo Create.

Le funzionalità vengono abilitate o disabilitate mediante le proprietà nella classe XmlReaderSettings. L'oggetto XmlReaderSettings viene quindi passato al metodo Create.

Tramite il metodo Create e la classe XmlReaderSettings si possono ottenere i seguenti vantaggi:

  • È possibile specificare le funzionalità da supportare nell'oggetto XmlReader creato.

  • È possibile riutilizzare la classe XmlReaderSettings per creare più oggetti lettore. In tal modo è possibile utilizzare le stesse impostazioni per creare più lettori con la stessa funzionalità. Oppure è possibile modificare l'oggetto XmlReaderSettings e creare un nuovo lettore con un set di funzionalità diverso.

  • È possibile aggiungere funzionalità a un lettore esistente. Il metodo Create può accettare un altro oggetto XmlReader. L'oggetto sottostante XmlReader può essere un lettore definito dall'utente o un oggetto XmlTextReader, oppure un'altra istanza di XmlReader a cui potranno essere aggiunte ulteriori funzionalità.

  • È possibile sfruttare al massimo tutte le nuove funzionalità aggiunte alla classe XmlReader nella versione 2.0 di .NET Framework. Alcune funzionalità, quali un miglior controllo della conformità e la conformità alla raccomandazione XML 1.0, sono disponibili solo per oggetti XmlReader creati mediante il metodo Create.

Nella tabella seguente sono elencate le impostazioni predefinite delle proprietà nella classe XmlReaderSettings.

Proprietà

Valore predefinito

CheckCharacters

true

ConformanceLevel

ConformanceLevel.Document

IgnoreComments

false

IgnoreProcessingInstructions

false

IgnoreWhitespace

false

LineNumberOffset

0.

LinePositionOffset

0

NameTable

null

DtdProcessing

Prohibit

ProhibitDtd

true .Questa proprietà è obsoleta. In alternativa, utilizzare DtdProcessing.

Schemas

Oggetto XmlSchemaSet vuoto.

ValidationFlags

ProcessIdentityConstraints abilitato

ValidationType

ValidationType.None

XmlResolver

Nuovo oggetto XmlUrlResolver.

Nella tabella seguente sono descritti alcuni scenari comuni e le impostazioni da applicare nella classe XmlReaderSettings.

Scenario

XmlReaderSettings

Richiede che i dati siano un documento XML in formato corretto.

ConformanceLevel = ConformanceLevel.Document

Richiede che i dati siano un'entità analizzata XML in formato corretto.

ConformanceLevel = ConformanceLevel.Fragment

Richiede che i dati siano convalidati rispetto a una DTD.

DtdProcessing = DtdProcessing.Parse

ValidationType = ValidationType.DTD

Richiede che i dati siano convalidati rispetto a un XML Schema.

ValidationType = ValidationType.Schema

Schemas = XmlSchemaSet da utilizzare per la convalida

Richiede che i dati siano convalidati rispetto a un XML Schema inline.

ValidationType = ValidationType.Schema

ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema

Richiede il supporto del tipo.

ValidationType = ValidationType.Schema

Schemas = XmlSchemaSet da utilizzare

Sono disponibili alcuni scenari speciali che possono richiedere l'utilizzo di un'implementazione di XmlReader non creata dal metodo Create.

  • Se è necessario eseguire una convalida rispetto a uno schema XDR, utilizzare la classe XmlValidatingReader.

Nota Nota

La classe XmlValidatingReader è obsoleta in .NET Framework versione 2.0. È consigliabile prendere in considerazione la possibilità di migrare a XML Schema ed eseguire la convalida utilizzando un oggetto XmlReader restituito dal metodo Create.

  • Per leggere i dati XML da un oggetto XmlNode, utilizzare la classe XmlNodeReader.

  • Se è necessario espandere entità su richiesta (i lettori creati dal metodo Create consentono di espandere tutte le entità) o se non si desidera normalizzare il contenuto di testo, utilizzare la classe XmlTextReader.

  • Se non si desidera che vengano restituiti attributi predefiniti, utilizzare la classe XmlTextReader.

9khb6435.collapse_all(it-it,VS.110).gifPer creare un'istanza di oggetto XmlReader


XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
XmlReader reader = XmlReader.Create("books.xml", settings);



9khb6435.collapse_all(it-it,VS.110).gifPer includere un'istanza di lettore in un altro lettore


XmlTextReader txtReader = new XmlTextReader("bookOrder.xml");
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("urn:po-schema", "PO.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(txtReader, settings);



9khb6435.collapse_all(it-it,VS.110).gifPer creare una catena di lettori e aggiungere ulteriori impostazioni


XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.DTD;
XmlReader inner = XmlReader.Create("book.xml", settings); // DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader outer = XmlReader.Create(inner, settings);  // XML Schema Validation


Aggiunte alla community

Mostra: