XmlReader.Create Metodo

Definizione

Crea una nuova istanza di XmlReader.

Overload

Nome Descrizione
Create(String, XmlReaderSettings, XmlParserContext)

Crea una nuova XmlReader istanza usando l'URI, le impostazioni e le informazioni sul contesto specificati per l'analisi.

Create(TextReader, XmlReaderSettings, XmlParserContext)

Crea una nuova XmlReader istanza usando il lettore di testo, le impostazioni e le informazioni di contesto specificate per l'analisi.

Create(Stream, XmlReaderSettings, XmlParserContext)

Crea una nuova XmlReader istanza usando il flusso, le impostazioni e le informazioni di contesto specificate per l'analisi.

Create(Stream, XmlReaderSettings, String)

Crea una nuova XmlReader istanza usando il flusso, l'URI di base e le impostazioni specificati.

Create(XmlReader, XmlReaderSettings)

Crea una nuova XmlReader istanza utilizzando il lettore XML e le impostazioni specificati.

Create(TextReader, XmlReaderSettings, String)

Crea una nuova XmlReader istanza usando il lettore di testo, le impostazioni e l'URI di base specificati.

Create(TextReader, XmlReaderSettings)

Crea una nuova XmlReader istanza usando il lettore di testo e le impostazioni specificati.

Create(Stream, XmlReaderSettings)

Crea una nuova XmlReader istanza con il flusso e le impostazioni specificati.

Create(String)

Crea una nuova XmlReader istanza con l'URI specificato.

Create(TextReader)

Crea una nuova XmlReader istanza utilizzando il lettore di testo specificato.

Create(Stream)

Crea una nuova XmlReader istanza usando il flusso specificato con le impostazioni predefinite.

Create(String, XmlReaderSettings)

Crea una nuova XmlReader istanza usando l'URI e le impostazioni specificati.

Esempio

In questo esempio viene creato un lettore XML che rimuove spazi vuoti non significativi, rimuove i commenti ed esegue il controllo della conformità a livello di frammento.

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

Nell'esempio seguente viene usato un oggetto XmlUrlResolver con credenziali predefinite per accedere a un file.

// Set the reader settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
settings.IgnoreProcessingInstructions = true;
settings.IgnoreWhitespace = true;
' Set the reader settings.
Dim settings as XmlReaderSettings = new XmlReaderSettings()
settings.IgnoreComments = true
settings.IgnoreProcessingInstructions = true
settings.IgnoreWhitespace = true
// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Set the reader settings object to use the resolver.
settings.XmlResolver = resolver;

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("http://ServerName/data/books.xml", settings);
' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Set the reader settings object to use the resolver.
settings.XmlResolver = resolver

' Create the XmlReader object.
Dim reader as XmlReader = XmlReader.Create("http://ServerName/data/books.xml", settings)

Il codice seguente esegue il wrapping di un'istanza del 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);
Dim txtReader As XmlTextReader = New XmlTextReader("bookOrder.xml")
Dim settings As New XmlReaderSettings()
settings.Schemas.Add("urn:po-schema", "PO.xsd")
settings.ValidationType = ValidationType.Schema
Dim reader As XmlReader = XmlReader.Create(txtReader, settings)

Questo esempio obbliga i lettori ad aggiungere la convalida DTD e schema XML.

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
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.DTD
Dim inner As XmlReader = XmlReader.Create("book.xml", settings) ' DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd")
settings.ValidationType = ValidationType.Schema
Dim outer As XmlReader = XmlReader.Create(inner, settings)  ' XML Schema Validation

Commenti

La maggior parte degli Create overload include un settings parametro che accetta un XmlReaderSettings oggetto . È possibile usare questo oggetto per:

  • Specificare le funzionalità che si desidera supportare nell'oggetto XmlReader .
  • Riutilizzare l'oggetto XmlReaderSettings per creare più lettori. È possibile usare le stesse impostazioni per creare più lettori con la stessa funzionalità. In alternativa, è possibile modificare le impostazioni in un'istanza XmlReaderSettings e creare un nuovo lettore con un set diverso di funzionalità.
  • Aggiungere funzionalità a un lettore XML esistente. Il Create metodo può accettare un altro XmlReader oggetto. L'oggetto sottostante XmlReader può essere un lettore definito dall'utente, un XmlTextReader oggetto o un'altra XmlReader istanza a cui si desidera aggiungere funzionalità aggiuntive.
  • Sfrutta appieno le funzionalità, come il miglior controllo di conformità e l'adesione alla raccomandazione XML 1.0 (quarta edizione) disponibili solo su XmlReader oggetti creati dal metodo statico Create.

Note

Anche se .NET include implementazioni concrete della XmlReader classe , ad esempio XmlTextReader, XmlNodeReadere le XmlValidatingReader classi , è consigliabile creare XmlReader istanze usando il Create metodo .

Impostazioni predefinite

Se si usa un Create overload che non accetta un XmlReaderSettings oggetto, vengono usate le impostazioni predefinite seguenti:

Setting Default
CheckCharacters true
ConformanceLevel ConformanceLevel.Document
IgnoreComments false
IgnoreProcessingInstructions false
IgnoreWhitespace false
LineNumberOffset 0
LinePositionOffset 0
NameTable null
DtdProcessing Prohibit
Schemas Oggetto vuoto XmlSchemaSet
ValidationFlags ProcessIdentityConstraints Abilitato
ValidationType None
XmlResolver null

Impostazioni per scenari comuni

Di seguito sono riportate le XmlReaderSettings proprietà che è necessario impostare per alcuni degli scenari tipici del lettore XML.

Requisito Set
I dati devono essere un documento XML ben formato. Da ConformanceLevel a Document.
I dati devono essere un'entità analizzata XML ben formata. Da ConformanceLevel a Fragment.
I dati devono essere convalidati in base a una DTD. DtdProcessing a Parse
Da ValidationType a DTD.
I dati devono essere convalidati in base a uno schema XML. ValidationType a Schema
Schemas per il XmlSchemaSet da usare per la validazione. Si noti che XmlReader non supporta la convalida dello schema XML-Data Reduced (XDR).
I dati devono essere convalidati in base a uno schema XML inline. ValidationType a Schema
Da ValidationFlags a ProcessInlineSchema.
Supporto dei tipi. ValidationType a Schema
Schemas per l'oggetto XmlSchemaSet da utilizzare.

XmlReader non supporta la convalida dello schema ridotta (XDR) XML-Data.

Programmazione asincrona

In modalità sincrona, il Create metodo legge il primo blocco di dati dal buffer del file, del flusso o del lettore di testo. Ciò può generare un'eccezione se un'operazione di I/O non riesce. In modalità asincrona, la prima operazione di I/O si verifica con un'operazione di lettura, pertanto le eccezioni che si verificano verranno generate quando si verifica l'operazione di lettura.

Considerazioni relative alla sicurezza

Per impostazione predefinita, XmlReader usa un XmlUrlResolver oggetto senza credenziali utente per aprire le risorse. Ciò significa che, per impostazione predefinita, il lettore XML può accedere a qualsiasi posizione che non richiede credenziali. Utilizzare la proprietà XmlResolver per controllare l'accesso alle risorse:

  • Usare ThrowingResolver per limitare le risorse a cui il lettore XML può accedere o...
  • Impostare XmlResolver su null per impedire al lettore XML di aprire qualsiasi risorsa esterna.

Create(String, XmlReaderSettings, XmlParserContext)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza usando l'URI, le impostazioni e le informazioni sul contesto specificati per l'analisi.

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
static member Create : string * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

Parametri

inputUri
String

URI per il file contenente i dati XML. L'oggetto XmlResolver nell'oggetto XmlReaderSettings viene utilizzato per convertire il percorso in una rappresentazione di dati canonica. Se XmlResolver è null, viene utilizzato un nuovo XmlUrlResolver oggetto .

settings
XmlReaderSettings

Impostazioni per la nuova XmlReader istanza. Il valore può essere null.

inputContext
XmlParserContext

Informazioni sul contesto necessarie per analizzare il frammento XML. Le informazioni sul contesto possono includere da XmlNameTable usare, codifica, ambito dello spazio dei nomi, xml:lang ambito corrente e xml:space ambito, URI di base e definizione del tipo di documento.

Il valore può essere null.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore inputUri è null.

Non XmlReader dispone di autorizzazioni sufficienti per accedere alla posizione dei dati XML.

Le NameTable proprietà e NameTable contengono entrambi valori. È possibile impostare e usare solo una di queste NameTable proprietà.

Impossibile trovare il file specificato dall'URI.

Il formato dell'URI non è corretto.

Commenti

Per impostazione predefinita, un oggetto XmlUrlResolver senza credenziali viene usato per accedere a qualsiasi risorsa esterna, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Ciò significa che XmlReader può accedere a tutti i percorsi che non richiedono l'autenticazione. Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, usare la XmlReaderSettings.XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.

Importante

È possibile limitare le risorse a cui l'oggetto XmlReader può accedere usando ThrowingResolver.

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(TextReader, XmlReaderSettings, XmlParserContext)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza usando il lettore di testo, le impostazioni e le informazioni di contesto specificate per l'analisi.

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

Parametri

input
TextReader

Lettore di testo da cui leggere i dati XML. Un lettore di testo restituisce un flusso di caratteri Unicode, pertanto la codifica specificata nella dichiarazione XML non viene utilizzata dal lettore XML per decodificare il flusso di dati.

settings
XmlReaderSettings

Impostazioni per la nuova XmlReader istanza. Il valore può essere null.

inputContext
XmlParserContext

Informazioni sul contesto necessarie per analizzare il frammento XML. Le informazioni sul contesto possono includere da XmlNameTable usare, codifica, ambito dello spazio dei nomi, xml:lang ambito corrente e xml:space ambito, URI di base e definizione del tipo di documento.

Il valore può essere null.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore input è null.

Le NameTable proprietà e NameTable contengono entrambi valori. È possibile impostare e usare solo una di queste NameTable proprietà.

Esempio

Nell'esempio seguente viene creato un XmlReader oggetto che legge un frammento XML.

string xmlFrag ="<item rk:ID='abc-23'>hammer</item> " +
                        "<item rk:ID='r2-435'>paint</item>" +
                        "<item rk:ID='abc-39'>saw</item>";

// Create the XmlNamespaceManager.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
nsmgr.AddNamespace("rk", "urn:store-items");

// Create the XmlParserContext.
XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

// Create the reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
XmlReader reader = XmlReader.Create(new StringReader(xmlFrag), settings, context);
Dim xmlFrag As String = "<item rk:ID='abc-23'>hammer</item> " & _
                                     "<item rk:ID='r2-435'>paint</item>" & _
                                     "<item rk:ID='abc-39'>saw</item>"

' Create the XmlNamespaceManager.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
nsmgr.AddNamespace("rk", "urn:store-items")

' Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)

' Create the reader. 
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlFrag), settings, context)

Commenti

Per impostazione predefinita, un oggetto XmlUrlResolver senza credenziali viene usato per accedere a qualsiasi risorsa esterna, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, usare la XmlReaderSettings.XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.

Importante

Per controllare quali risorse XmlReader possono accedere, è possibile usare uno dei metodi seguenti:

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(Stream, XmlReaderSettings, XmlParserContext)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza usando il flusso, le impostazioni e le informazioni di contesto specificate per l'analisi.

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader

Parametri

input
Stream

Flusso contenente i dati XML.

Analizza XmlReader i primi byte del flusso cercando un contrassegno di ordine di byte o un altro segno di codifica. Quando viene determinata la codifica, la codifica viene usata per continuare a leggere il flusso e l'elaborazione continua a analizzare l'input come flusso di caratteri (Unicode).

settings
XmlReaderSettings

Impostazioni per la nuova XmlReader istanza. Il valore può essere null.

inputContext
XmlParserContext

Informazioni sul contesto necessarie per analizzare il frammento XML. Le informazioni sul contesto possono includere da XmlNameTable usare, codifica, ambito dello spazio dei nomi, xml:lang ambito corrente e xml:space ambito, URI di base e definizione del tipo di documento.

Il valore può essere null.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore input è null.

Commenti

Per impostazione predefinita, un oggetto XmlUrlResolver senza credenziali viene usato per accedere a qualsiasi risorsa esterna, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, usare la XmlReaderSettings.XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.

Importante

Per controllare quali risorse XmlReader possono accedere, è possibile usare uno dei metodi seguenti:

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(Stream, XmlReaderSettings, String)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza usando il flusso, l'URI di base e le impostazioni specificati.

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings, System::String ^ baseUri);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings, string? baseUri);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings, string baseUri);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings * string -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings, baseUri As String) As XmlReader

Parametri

input
Stream

Flusso contenente i dati XML.

Analizza XmlReader i primi byte del flusso cercando un contrassegno di ordine di byte o un altro segno di codifica. Quando viene determinata la codifica, la codifica viene usata per continuare a leggere il flusso e l'elaborazione continua a analizzare l'input come flusso di caratteri (Unicode).

settings
XmlReaderSettings

Impostazioni per la nuova XmlReader istanza. Il valore può essere null.

baseUri
String

URI di base per l'entità o il documento letto. Il valore può essere null.

Nota sulla sicurezza L'URI di base viene usato per risolvere l'URI relativo del documento XML. Non usare un URI di base da un'origine non attendibile.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore input è null.

Commenti

Per impostazione predefinita, un oggetto XmlUrlResolver senza credenziali viene usato per accedere a qualsiasi risorsa esterna, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, usare la XmlReaderSettings.XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.

Importante

Per controllare quali risorse XmlReader possono accedere, è possibile usare uno dei metodi seguenti:

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(XmlReader, XmlReaderSettings)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza utilizzando il lettore XML e le impostazioni specificati.

public:
 static System::Xml::XmlReader ^ Create(System::Xml::XmlReader ^ reader, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.Xml.XmlReader reader, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.Xml.XmlReader reader, System.Xml.XmlReaderSettings? settings);
static member Create : System.Xml.XmlReader * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (reader As XmlReader, settings As XmlReaderSettings) As XmlReader

Parametri

reader
XmlReader

Oggetto che si desidera utilizzare come lettore XML sottostante.

settings
XmlReaderSettings

Impostazioni per la nuova XmlReader istanza.

Il livello di conformità dell'oggetto XmlReaderSettings deve corrispondere al livello di conformità del lettore sottostante oppure deve essere impostato su Auto.

Valori restituiti

Oggetto di cui viene eseguito il wrapping intorno all'oggetto specificato XmlReader .

Eccezioni

Il valore reader è null.

Se l'oggetto XmlReaderSettings specifica un livello di conformità non coerente con il livello di conformità del lettore sottostante.

oppure

L'oggetto sottostante XmlReader si trova in uno Error stato o Closed .

Esempio

Nell'esempio seguente viene creato un oggetto di convalida XmlReader di cui viene eseguito il wrapping intorno a un XmlNodeReader oggetto .

// Create the XmlNodeReader object.
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");
XmlNodeReader nodeReader = new XmlNodeReader(doc);

// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:bookstore-schema", "books.xsd");
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

// Create a validating reader that wraps the XmlNodeReader object.
XmlReader reader = XmlReader.Create(nodeReader, settings);
// Parse the XML file.
while (reader.Read());
' Create the XmlNodeReader object.
Dim doc As New XmlDocument()
doc.Load("books.xml")
Dim nodeReader As New XmlNodeReader(doc)

' Set the validation settings.
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:bookstore-schema", "books.xsd")
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack

' Create a validating reader that wraps the XmlNodeReader object.
Dim reader As XmlReader = XmlReader.Create(nodeReader, settings)
' Parse the XML file.
While reader.Read()
End While

Commenti

Questo metodo consente di aggiungere funzionalità aggiuntive a un oggetto sottostante XmlReader . L'oggetto sottostante XmlReader può essere un altro XmlReader oggetto creato dal Create metodo o un XmlReader oggetto creato usando una delle implementazioni concrete XmlReader .

Per accedere a qualsiasi risorsa esterna, ad esempio uno schema, viene usato un valore predefinito XmlUrlResolver senza credenziali.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, specificare un XmlResolver oggetto con le credenziali necessarie usando la XmlReaderSettings.XmlResolver proprietà .

Importante

Per controllare quali risorse XmlReader possono accedere, è possibile usare uno dei metodi seguenti:

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(TextReader, XmlReaderSettings, String)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza usando il lettore di testo, le impostazioni e l'URI di base specificati.

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings, System::String ^ baseUri);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings, string? baseUri);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings, string baseUri);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings * string -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings, baseUri As String) As XmlReader

Parametri

input
TextReader

Lettore di testo da cui leggere i dati XML. Un lettore di testo restituisce un flusso di caratteri Unicode, pertanto la codifica specificata nella dichiarazione XML non viene usata da XmlReader per decodificare il flusso di dati.

settings
XmlReaderSettings

Impostazioni per la nuova XmlReader istanza. Il valore può essere null.

baseUri
String

URI di base per l'entità o il documento letto. Il valore può essere null.

Nota sulla sicurezza L'URI di base viene usato per risolvere l'URI relativo del documento XML. Non usare un URI di base da un'origine non attendibile.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore input è null.

Commenti

Per impostazione predefinita, un oggetto XmlUrlResolver senza credenziali viene usato per accedere a qualsiasi risorsa esterna, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, usare la XmlReaderSettings.XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.

Importante

Per controllare quali risorse XmlReader possono accedere, è possibile usare uno dei metodi seguenti:

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(TextReader, XmlReaderSettings)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza usando il lettore di testo e le impostazioni specificati.

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.IO.TextReader input, System.Xml.XmlReaderSettings? settings);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings) As XmlReader

Parametri

input
TextReader

Lettore di testo da cui leggere i dati XML. Un lettore di testo restituisce un flusso di caratteri Unicode, pertanto la codifica specificata nella dichiarazione XML non viene utilizzata dal lettore XML per decodificare il flusso di dati.

settings
XmlReaderSettings

Impostazioni per il nuovo XmlReaderoggetto . Il valore può essere null.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore input è null.

Commenti

Per impostazione predefinita, un oggetto XmlUrlResolver senza credenziali viene usato per accedere a qualsiasi risorsa esterna, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, usare la XmlReaderSettings.XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.

Importante

Per controllare quali risorse XmlReader possono accedere, è possibile usare uno dei metodi seguenti:

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(Stream, XmlReaderSettings)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza con il flusso e le impostazioni specificati.

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(System.IO.Stream input, System.Xml.XmlReaderSettings? settings);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings) As XmlReader

Parametri

input
Stream

Flusso contenente i dati XML.

Analizza XmlReader i primi byte del flusso cercando un contrassegno di ordine di byte o un altro segno di codifica. Quando viene determinata la codifica, la codifica viene usata per continuare a leggere il flusso e l'elaborazione continua a analizzare l'input come flusso di caratteri (Unicode).

settings
XmlReaderSettings

Impostazioni per la nuova XmlReader istanza. Il valore può essere null.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore input è null.

Commenti

Per impostazione predefinita, un oggetto XmlUrlResolver senza credenziali viene usato per accedere a qualsiasi risorsa esterna, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, usare la XmlReaderSettings.XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.

Importante

Per controllare quali risorse XmlReader possono accedere, è possibile usare uno dei metodi seguenti:

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(String)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza con l'URI specificato.

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri);
public static System.Xml.XmlReader Create(string inputUri);
static member Create : string -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String) As XmlReader

Parametri

inputUri
String

URI per il file che contiene i dati XML. La XmlUrlResolver classe viene usata per convertire il percorso in una rappresentazione di dati canonica.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore inputUri è null.

Non XmlReader dispone di autorizzazioni sufficienti per accedere alla posizione dei dati XML.

Il file identificato dall'URI non esiste.

Il formato dell'URI non è corretto.

Nota: in .NET per le app dello Store Windows o Portable Class Library, intercettare invece l'eccezione della classe base FormatException.

Esempio

Nell'esempio seguente viene creato un XmlReader oggetto che legge il file di dati XML specificato dall'URI.

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("books.xml");
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("books.xml")

Commenti

Per creare il lettore viene usato un XmlReaderSettings oggetto con impostazioni predefinite. Se si desidera specificare le funzionalità da supportare nel lettore creato, utilizzare l'overload che accetta un XmlReaderSettings oggetto come uno dei relativi argomenti e passare un XmlReaderSettings oggetto con le impostazioni corrette.

Un valore predefinito XmlUrlResolver senza credenziali viene usato per accedere a risorse esterne, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, specificare un XmlResolver oggetto con le credenziali necessarie usando la XmlReaderSettings.XmlResolver proprietà .

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(TextReader)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza utilizzando il lettore di testo specificato.

public:
 static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input);
public static System.Xml.XmlReader Create(System.IO.TextReader input);
static member Create : System.IO.TextReader -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader) As XmlReader

Parametri

input
TextReader

Lettore di testo da cui leggere i dati XML. Un lettore di testo restituisce un flusso di caratteri Unicode, pertanto la codifica specificata nella dichiarazione XML non viene utilizzata dal lettore XML per decodificare il flusso di dati.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore input è null.

Esempio

Nell'esempio seguente viene utilizzata la StringReader classe per leggere una stringa XML.

string xmlData ="<item productID='124390'>" +
                        "<price>5.95</price>" +
                        "</item>";

// Create the XmlReader object.
XmlReader reader = XmlReader.Create(new StringReader(xmlData));
Dim xmlData As String = "<item productID='124390'>" & _ 
                                     "<price>5.95</price>" & _ 
                                     "</item>"

' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlData))

Commenti

Per creare il lettore viene usato un XmlReaderSettings oggetto con impostazioni predefinite. Se si desidera specificare le funzionalità da supportare nel lettore creato, utilizzare l'overload che accetta un XmlReaderSettings oggetto come uno dei relativi argomenti e passare un XmlReaderSettings oggetto con le impostazioni corrette.

Un valore predefinito XmlUrlResolver senza credenziali viene usato per accedere a risorse esterne, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, specificare un XmlResolver oggetto con le credenziali necessarie usando la XmlReaderSettings.XmlResolver proprietà .

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(Stream)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza usando il flusso specificato con le impostazioni predefinite.

public:
 static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input);
public static System.Xml.XmlReader Create(System.IO.Stream input);
static member Create : System.IO.Stream -> System.Xml.XmlReader
Public Shared Function Create (input As Stream) As XmlReader

Parametri

input
Stream

Flusso contenente i dati XML.

Analizza XmlReader i primi byte del flusso cercando un contrassegno di ordine di byte o un altro segno di codifica. Quando viene determinata la codifica, la codifica viene usata per continuare a leggere il flusso e l'elaborazione continua a analizzare l'input come flusso di caratteri (Unicode).

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore input è null.

Non XmlReader dispone di autorizzazioni sufficienti per accedere alla posizione dei dati XML.

Esempio

Nell'esempio seguente viene creato un XmlReader oggetto che legge da un oggetto FileStream.


FileStream fs = new FileStream(@"C:\data\books.xml", FileMode.OpenOrCreate,
                                                                    FileAccess.Read, FileShare.Read);

// Create the XmlReader object.
XmlReader reader = XmlReader.Create(fs);
    Dim fs As New FileStream("C:\data\books.xml", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)
    
    ' Create the XmlReader object.
    Dim reader As XmlReader = XmlReader.Create(fs)

End Sub

Commenti

Per creare il lettore viene usato un XmlReaderSettings oggetto con impostazioni predefinite. Se si desidera specificare le funzionalità da supportare nel lettore creato, utilizzare l'overload che accetta un XmlReaderSettings oggetto come uno dei relativi argomenti e passare un XmlReaderSettings oggetto con le impostazioni corrette.

Un valore predefinito XmlUrlResolver senza credenziali viene usato per accedere a risorse esterne, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, specificare un XmlResolver oggetto con le credenziali necessarie usando la XmlReaderSettings.XmlResolver proprietà .

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a

Create(String, XmlReaderSettings)

Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs
Origine:
XmlReader.cs

Crea una nuova XmlReader istanza usando l'URI e le impostazioni specificati.

public:
 static System::Xml::XmlReader ^ Create(System::String ^ inputUri, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create(string inputUri, System.Xml.XmlReaderSettings? settings);
static member Create : string * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String, settings As XmlReaderSettings) As XmlReader

Parametri

inputUri
String

URI per il file contenente i dati XML. L'oggetto XmlResolver nell'oggetto XmlReaderSettings viene utilizzato per convertire il percorso in una rappresentazione di dati canonica. Se XmlResolver è null, viene utilizzato un nuovo XmlUrlResolver oggetto .

settings
XmlReaderSettings

Impostazioni per la nuova XmlReader istanza. Il valore può essere null.

Valori restituiti

Oggetto utilizzato per leggere i dati XML nel flusso.

Eccezioni

Il valore inputUri è null.

Impossibile trovare il file specificato dall'URI.

Il formato dell'URI non è corretto.

Nota: in .NET per le app dello Store Windows o Portable Class Library, intercettare invece l'eccezione della classe base FormatException.

Esempio

Nell'esempio seguente viene creato un XmlReader oggetto che supporta la convalida DTD (Document Type Definition).

// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

 // Create the XmlReader object.
XmlReader reader = XmlReader.Create("itemDTD.xml", settings);

// Parse the file.
while (reader.Read()) {}
' Set the validation settings.
Dim settings As New XmlReaderSettings()
settings.DtdProcessing = DtdProcessing.Parse
settings.ValidationType = ValidationType.DTD
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack

' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("itemDTD.xml", settings)

' Parse the file. 
While reader.Read()
End While

Commenti

Per impostazione predefinita, un oggetto XmlUrlResolver senza credenziali viene usato per accedere a qualsiasi risorsa esterna, ad esempio una definizione del tipo di documento (DTD), entità, schemi e così via.

Importante

A partire da .NET Framework 4.5.2, non viene fornito alcun valore predefinito XmlUrlResolver . Se la soluzione è destinata a .NET Framework 4.5.2 o versioni successive, specificare un XmlResolver oggetto usando la XmlReaderSettings.XmlResolver proprietà .

Ciò significa che XmlReader può accedere a tutti i percorsi che non richiedono l'autenticazione. Se la risorsa esterna si trova in una risorsa di rete che richiede l'autenticazione, usare la XmlReaderSettings.XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.

Importante

È possibile limitare le risorse a cui l'oggetto XmlReader può accedere usando ThrowingResolver.

L'oggetto creato XmlReader espande i riferimenti all'entità ed esegue la normalizzazione XML dei nuovi caratteri di riga.

Si applica a