XmlReader.Create Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria uma nova XmlReader instância.
Sobrecargas
| Name | Descrição |
|---|---|
| Create(String, XmlReaderSettings, XmlParserContext) |
Cria uma nova XmlReader instância usando o URI, definições e informação de contexto especificadas para análise sintática. |
| Create(TextReader, XmlReaderSettings, XmlParserContext) |
Cria uma nova XmlReader instância usando o leitor de texto especificado, as definições e a informação de contexto para análise sintática. |
| Create(Stream, XmlReaderSettings, XmlParserContext) |
Cria uma nova XmlReader instância usando o fluxo especificado, as definições e a informação de contexto para análise sintática. |
| Create(Stream, XmlReaderSettings, String) |
Cria uma nova XmlReader instância usando o stream especificado, o URI base e as definições. |
| Create(XmlReader, XmlReaderSettings) |
Cria uma nova XmlReader instância usando o leitor XML especificado e as definições. |
| Create(TextReader, XmlReaderSettings, String) |
Cria uma nova XmlReader instância usando o leitor de texto especificado, as definições e o URI base. |
| Create(TextReader, XmlReaderSettings) |
Cria uma nova XmlReader instância usando o leitor de texto e as definições especificadas. |
| Create(Stream, XmlReaderSettings) |
Cria uma nova XmlReader instância com o fluxo e as definições especificados. |
| Create(String) |
Cria uma nova XmlReader instância com um URI especificado. |
| Create(TextReader) |
Cria uma nova XmlReader instância usando o leitor de texto especificado. |
| Create(Stream) |
Cria uma nova XmlReader instância usando o stream especificado com as definições predefinidas. |
| Create(String, XmlReaderSettings) |
Cria uma nova XmlReader instância usando o URI e as definições especificadas. |
Exemplos
Este exemplo cria um leitor XML que remove espaços em branco insignificantes, remove comentários e executa a verificação de conformidade no nível do fragmento.
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)
O exemplo a seguir usa um XmlUrlResolver com credenciais padrão para acessar um arquivo.
// 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)
O código a seguir envolve uma instância de leitor dentro de outro leitor.
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)
Este exemplo encadeia leitores para adicionar DTD e validação de esquema 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
Observações
A maioria das Create sobrecargas inclui um settings parâmetro que aceita um XmlReaderSettings objeto. Você pode usar este objeto para:
- Especifique quais recursos você deseja oferecer suporte no XmlReader objeto.
- Reutilize o XmlReaderSettings objeto para criar vários leitores. Você pode usar as mesmas configurações para criar vários leitores com a mesma funcionalidade. Ou, você pode modificar as configurações em uma XmlReaderSettings instância e criar um novo leitor com um conjunto diferente de recursos.
- Adicione recursos a um leitor XML existente. O Create método pode aceitar outro XmlReader objeto. O objeto subjacente XmlReader pode ser um leitor definido pelo usuário, um XmlTextReader objeto ou outra XmlReader instância à qual você deseja adicionar recursos adicionais.
- Aproveite ao máximo recursos como melhor verificação de conformidade e cumprimento da recomendação XML 1.0 (quarta edição), disponíveis apenas em objetos XmlReader criados pelo método estático Create.
Note
Embora o .NET inclua implementações concretas da XmlReader classe, como , XmlTextReaderXmlNodeReadere as XmlValidatingReader classes, recomendamos que você crie XmlReader instâncias usando o Create método.
Configurações padrão
Ao utilizar uma Create sobrecarga que não aceita o XmlReaderSettings objeto, as seguintes configurações padrão do leitor serão usadas:
| Setting | Predefinição |
|---|---|
| CheckCharacters | true |
| ConformanceLevel | ConformanceLevel.Document |
| IgnoreComments | false |
| IgnoreProcessingInstructions | false |
| IgnoreWhitespace | false |
| LineNumberOffset | 0 |
| LinePositionOffset | 0 |
| NameTable | null |
| DtdProcessing | Prohibit |
| Schemas | Um objeto vazio XmlSchemaSet |
| ValidationFlags | ProcessIdentityConstraints ativado |
| ValidationType | None |
| XmlResolver | null |
Configurações para cenários comuns
Aqui estão as XmlReaderSettings propriedades que você deve definir para alguns dos cenários típicos de leitor XML.
| Requirement | Definir |
|---|---|
| Os dados devem ser um documento XML bem formado. | ConformanceLevel para Document. |
| Os dados devem ser uma entidade XML analisada bem formada. | ConformanceLevel para Fragment. |
| Os dados devem ser validados em relação a uma DTD. |
DtdProcessing a Parse ValidationType para DTD. |
| Os dados devem ser validados em relação a um esquema XML. |
ValidationType a Schema Schemas para o XmlSchemaSet a utilizar para validação. Observe que XmlReader não suporta validação de esquema reduzida (XDR) XML-Data. |
| Os dados devem ser validados em relação a um esquema XML embutido. |
ValidationType a Schema ValidationFlags para ProcessInlineSchema. |
| Suporte a tipos |
ValidationType a Schema Schemas para o XmlSchemaSet usar. |
XmlReader não suporta a validação de esquema XDR reduzido pelo XML-Data.
Programação assíncrona
No modo síncrono, o Create método lê o primeiro bloco de dados do buffer do arquivo, fluxo ou leitor de texto. Isso pode gerar uma exceção se uma operação de E/S falhar. No modo assíncrono, a primeira operação de E/S ocorre com uma operação de leitura, portanto, as exceções que surgirem serão lançadas quando a operação de leitura ocorrer.
Considerações de segurança
Por padrão, o XmlReader usa um XmlUrlResolver objeto sem credenciais de usuário para abrir recursos. Isso significa que, por padrão, o leitor XML pode acessar qualquer local que não exija credenciais. Use a propriedade XmlResolver para controlar o acesso aos recursos.
- Usar ThrowingResolver para restringir os recursos a que o leitor XML pode aceder, ou...
- Defina XmlResolver como
nullpara impedir que o leitor XML abra quaisquer recursos externos.
Create(String, XmlReaderSettings, XmlParserContext)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o URI, definições e informação de contexto especificadas para análise sintática.
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
Parâmetros
- inputUri
- String
O URI do ficheiro que contém os dados XML. O XmlResolver objeto no XmlReaderSettings objeto é usado para converter o caminho numa representação canónica de dados. Se XmlResolver for null, é usado um novo XmlUrlResolver objeto.
- settings
- XmlReaderSettings
As definições para a nova XmlReader instância. Este valor pode ser null.
- inputContext
- XmlParserContext
A informação de contexto necessária para analisar o fragmento XML. A informação de contexto pode incluir o XmlNameTable to use, codificação, âmbito do namespace, o atual xml:lang e xml:space scope, o URI base e a definição do tipo de documento.
Este valor pode ser null.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O inputUri valor é null.
Não XmlReader tem permissões suficientes para aceder à localização dos dados XML.
As NameTable propriedades e NameTable contêm ambas valores. (Apenas uma destas NameTable propriedades pode ser definida e utilizada).
O ficheiro especificado pelo URI não pode ser encontrado.
O formato do URI não está correto.
Observações
Por defeito, um XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Isto significa que podem XmlReader aceder a quaisquer locais que não exijam autenticação. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a XmlReaderSettings.XmlResolver propriedade para especificar um XmlResolver com as credenciais necessárias.
Importante
Pode restringir os recursos a que XmlReader podem aceder usando ThrowingResolver.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(TextReader, XmlReaderSettings, XmlParserContext)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o leitor de texto especificado, as definições e a informação de contexto para análise sintática.
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
Parâmetros
- input
- TextReader
O leitor de texto a partir do qual ler os dados XML. Um leitor de texto devolve um fluxo de caracteres Unicode, pelo que a codificação especificada na declaração XML não é usada pelo leitor XML para decodificar o fluxo de dados.
- settings
- XmlReaderSettings
As definições para a nova XmlReader instância. Este valor pode ser null.
- inputContext
- XmlParserContext
A informação de contexto necessária para analisar o fragmento XML. A informação de contexto pode incluir o XmlNameTable to use, codificação, âmbito do namespace, o atual xml:lang e xml:space scope, o URI base e a definição do tipo de documento.
Este valor pode ser null.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O input valor é null.
As NameTable propriedades e NameTable contêm ambas valores. (Apenas uma destas NameTable propriedades pode ser definida e utilizada.)
Exemplos
O exemplo seguinte cria um XmlReader objeto que lê um fragmento 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)
Observações
Por defeito, um XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a XmlReaderSettings.XmlResolver propriedade para especificar um XmlResolver com as credenciais necessárias.
Importante
Pode usar um dos seguintes métodos para controlar quais recursos pode XmlReader acedecer:
- Restringa os recursos a que podem XmlReader aceder usando ThrowingResolver.
- Não permita que o XmlReader abra recursos externos definindo a propriedade XmlResolver como
null.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(Stream, XmlReaderSettings, XmlParserContext)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o fluxo especificado, as definições e a informação de contexto para análise sintática.
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
Parâmetros
- input
- Stream
O fluxo que contém os dados XML.
Analisa XmlReader os primeiros bytes do fluxo à procura de uma marca de ordem de bytes ou outro sinal de codificação. Quando a codificação é determinada, a codificação é usada para continuar a ler o fluxo, e o processamento continua a analisar a entrada como um fluxo de caracteres (Unicode).
- settings
- XmlReaderSettings
As definições para a nova XmlReader instância. Este valor pode ser null.
- inputContext
- XmlParserContext
A informação de contexto necessária para analisar o fragmento XML. A informação de contexto pode incluir o XmlNameTable to use, codificação, âmbito do namespace, o atual xml:lang e xml:space scope, o URI base e a definição do tipo de documento.
Este valor pode ser null.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O input valor é null.
Observações
Por defeito, um XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a XmlReaderSettings.XmlResolver propriedade para especificar um XmlResolver com as credenciais necessárias.
Importante
Pode usar um dos seguintes métodos para controlar quais recursos pode XmlReader acedecer:
- Restringa os recursos a que podem XmlReader aceder usando ThrowingResolver.
- Não permita que o XmlReader abra recursos externos definindo a propriedade XmlResolver como
null.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(Stream, XmlReaderSettings, String)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o stream especificado, o URI base e as definições.
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
Parâmetros
- input
- Stream
O fluxo que contém os dados XML.
Analisa XmlReader os primeiros bytes do fluxo à procura de uma marca de ordem de bytes ou outro sinal de codificação. Quando a codificação é determinada, a codificação é usada para continuar a ler o fluxo, e o processamento continua a analisar a entrada como um fluxo de caracteres (Unicode).
- settings
- XmlReaderSettings
As definições para a nova XmlReader instância. Este valor pode ser null.
- baseUri
- String
O URI base da entidade ou documento que está a ser lido. Este valor pode ser null.
Nota de Segurança O URI base é usado para resolver o URI relativo do documento XML. Não use um URI base de uma fonte não confiável.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O input valor é null.
Observações
Por defeito, um XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a XmlReaderSettings.XmlResolver propriedade para especificar um XmlResolver com as credenciais necessárias.
Importante
Pode usar um dos seguintes métodos para controlar quais recursos pode XmlReader acedecer:
- Restringa os recursos a que podem XmlReader aceder usando ThrowingResolver.
- Não permita que o XmlReader abra recursos externos definindo a propriedade XmlResolver como
null.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(XmlReader, XmlReaderSettings)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o leitor XML especificado e as definições.
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
Parâmetros
- reader
- XmlReader
O objeto que queres usar como leitor XML subjacente.
- settings
- XmlReaderSettings
As definições para a nova XmlReader instância.
O nível de conformidade do XmlReaderSettings objeto deve corresponder ao nível de conformidade do leitor subjacente, ou deve ser definido para Auto.
Devoluções
Um objeto que envolve o objeto especificado XmlReader .
Exceções
O reader valor é null.
Se o XmlReaderSettings objeto especificar um nível de conformidade que não é consistente com o nível de conformidade do leitor subjacente.
-ou-
Exemplos
O exemplo seguinte cria um objeto validador XmlReader que é enrolado em torno de um XmlNodeReader objeto.
// 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
Observações
Este método permite-lhe adicionar funcionalidades adicionais a um objeto subjacente XmlReader . O objeto subjacente XmlReader pode ser outro XmlReader objeto criado pelo Create método, ou um XmlReader objeto criado usando uma das implementações concretas XmlReader .
Um padrão XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como um esquema.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, especifique an XmlResolver com as credenciais necessárias usando a XmlReaderSettings.XmlResolver propriedade.
Importante
Pode usar um dos seguintes métodos para controlar quais recursos pode XmlReader acedecer:
- Restringa os recursos a que podem XmlReader aceder usando ThrowingResolver.
- Não permita que o XmlReader abra recursos externos definindo a propriedade XmlResolver como
null.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(TextReader, XmlReaderSettings, String)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o leitor de texto especificado, as definições e o URI base.
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
Parâmetros
- input
- TextReader
O leitor de texto a partir do qual ler os dados XML. Um leitor de texto devolve um fluxo de caracteres Unicode, pelo que a codificação especificada na declaração XML não é usada pelo XmlReader para decodificar o fluxo de dados.
- settings
- XmlReaderSettings
As definições para a nova XmlReader instância. Este valor pode ser null.
- baseUri
- String
O URI base da entidade ou documento que está a ser lido. Este valor pode ser null.
Nota de Segurança O URI base é usado para resolver o URI relativo do documento XML. Não use um URI base de uma fonte não confiável.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O input valor é null.
Observações
Por defeito, um XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a XmlReaderSettings.XmlResolver propriedade para especificar um XmlResolver com as credenciais necessárias.
Importante
Pode usar um dos seguintes métodos para controlar quais recursos pode XmlReader acedecer:
- Restringa os recursos a que podem XmlReader aceder usando ThrowingResolver.
- Não permita que o XmlReader abra recursos externos definindo a propriedade XmlResolver como
null.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(TextReader, XmlReaderSettings)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o leitor de texto e as definições especificadas.
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
Parâmetros
- input
- TextReader
O leitor de texto a partir do qual ler os dados XML. Um leitor de texto devolve um fluxo de caracteres Unicode, pelo que a codificação especificada na declaração XML não é usada pelo leitor XML para decodificar o fluxo de dados.
- settings
- XmlReaderSettings
As definições para o novo XmlReader. Este valor pode ser null.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O input valor é null.
Observações
Por defeito, um XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a XmlReaderSettings.XmlResolver propriedade para especificar um XmlResolver com as credenciais necessárias.
Importante
Pode usar um dos seguintes métodos para controlar quais recursos pode XmlReader acedecer:
- Restringa os recursos a que podem XmlReader aceder usando ThrowingResolver.
- Não permita que o XmlReader abra recursos externos definindo a propriedade XmlResolver como
null.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(Stream, XmlReaderSettings)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância com o fluxo e as definições especificados.
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
Parâmetros
- input
- Stream
O fluxo que contém os dados XML.
Analisa XmlReader os primeiros bytes do fluxo à procura de uma marca de ordem de bytes ou outro sinal de codificação. Quando a codificação é determinada, a codificação é usada para continuar a ler o fluxo, e o processamento continua a analisar a entrada como um fluxo de caracteres (Unicode).
- settings
- XmlReaderSettings
As definições para a nova XmlReader instância. Este valor pode ser null.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O input valor é null.
Observações
Por defeito, um XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a XmlReaderSettings.XmlResolver propriedade para especificar um XmlResolver com as credenciais necessárias.
Importante
Pode usar um dos seguintes métodos para controlar quais recursos pode XmlReader acedecer:
- Restringa os recursos a que podem XmlReader aceder usando ThrowingResolver.
- Não permita que o XmlReader abra recursos externos definindo a propriedade XmlResolver como
null.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(String)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância com um URI especificado.
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
Parâmetros
- inputUri
- String
O URI do ficheiro que contém os dados XML. A XmlUrlResolver classe é usada para converter o caminho numa representação canónica de dados.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O inputUri valor é null.
Não XmlReader tem permissões suficientes para aceder à localização dos dados XML.
O ficheiro identificado pelo URI não existe.
O formato do URI não está correto.
Nota: Em .NET para aplicações Windows Store ou a Portable Class Library, apanhe a exceção da classe base, FormatException, em vez disso.
Exemplos
O exemplo seguinte cria um XmlReader objeto que lê ficheiro de dados XML especificado pelo URI.
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("books.xml");
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("books.xml")
Observações
Um XmlReaderSettings objeto com definições padrão é usado para criar o leitor. Se quiser especificar as funcionalidades a suportar no leitor criado, use a sobrecarga que aceita um XmlReaderSettings objeto como um dos seus argumentos, e passe um XmlReaderSettings objeto com as definições corretas.
Um padrão XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, especifique an XmlResolver com as credenciais necessárias usando a XmlReaderSettings.XmlResolver propriedade.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(TextReader)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o leitor de texto especificado.
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
Parâmetros
- input
- TextReader
O leitor de texto a partir do qual ler os dados XML. Um leitor de texto devolve um fluxo de caracteres Unicode, pelo que a codificação especificada na declaração XML não é usada pelo leitor XML para decodificar o fluxo de dados.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O input valor é null.
Exemplos
O exemplo seguinte usa a StringReader classe para ler uma string 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))
Observações
Um XmlReaderSettings objeto com definições padrão é usado para criar o leitor. Se quiser especificar as funcionalidades a suportar no leitor criado, use a sobrecarga que aceita um XmlReaderSettings objeto como um dos seus argumentos, e passe um XmlReaderSettings objeto com as definições corretas.
Um padrão XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, especifique an XmlResolver com as credenciais necessárias usando a XmlReaderSettings.XmlResolver propriedade.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(Stream)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o stream especificado com as definições predefinidas.
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
Parâmetros
- input
- Stream
O fluxo que contém os dados XML.
Analisa XmlReader os primeiros bytes do fluxo à procura de uma marca de ordem de bytes ou outro sinal de codificação. Quando a codificação é determinada, a codificação é usada para continuar a ler o fluxo, e o processamento continua a analisar a entrada como um fluxo de caracteres (Unicode).
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O input valor é null.
Não XmlReader tem permissões suficientes para aceder à localização dos dados XML.
Exemplos
O exemplo seguinte cria um XmlReader objeto que lê a partir de um 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
Observações
Um XmlReaderSettings objeto com definições padrão é usado para criar o leitor. Se quiser especificar as funcionalidades a suportar no leitor criado, use a sobrecarga que aceita um XmlReaderSettings objeto como um dos seus argumentos, e passe um XmlReaderSettings objeto com as definições corretas.
Um padrão XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Se o recurso externo estiver localizado num recurso de rede que requer autenticação, especifique an XmlResolver com as credenciais necessárias usando a XmlReaderSettings.XmlResolver propriedade.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.
Aplica-se a
Create(String, XmlReaderSettings)
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
- Origem:
- XmlReader.cs
Cria uma nova XmlReader instância usando o URI e as definições especificadas.
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
Parâmetros
- inputUri
- String
O URI do ficheiro que contém os dados XML. O XmlResolver objeto no XmlReaderSettings objeto é usado para converter o caminho numa representação canónica de dados. Se XmlResolver for null, é usado um novo XmlUrlResolver objeto.
- settings
- XmlReaderSettings
As definições para a nova XmlReader instância. Este valor pode ser null.
Devoluções
Um objeto que é usado para ler os dados XML no fluxo.
Exceções
O inputUri valor é null.
O ficheiro especificado pelo URI não pode ser encontrado.
O formato do URI não está correto.
Nota: Em .NET para aplicações Windows Store ou a Portable Class Library, apanhe a exceção da classe base, FormatException, em vez disso.
Exemplos
O exemplo seguinte cria um XmlReader objeto que suporta validação de definição de tipo de documento (DTD).
// 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
Observações
Por defeito, um XmlUrlResolver sem credenciais é usado para aceder a quaisquer recursos externos, como uma definição de tipo de documento (DTD), entidades, esquemas, e assim por diante.
Importante
A partir do .NET Framework 4.5.2, não é fornecido XmlUrlResolver por defeito. Se a sua solução tiver como alvo o .NET Framework 4.5.2 ou versões posteriores, especifique um XmlResolver usando a propriedade XmlReaderSettings.XmlResolver.
Isto significa que podem XmlReader aceder a quaisquer locais que não exijam autenticação. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a XmlReaderSettings.XmlResolver propriedade para especificar um XmlResolver com as credenciais necessárias.
Importante
Pode restringir os recursos a que XmlReader podem aceder usando ThrowingResolver.
O objeto criado XmlReader expande referências de entidade e realiza a normalização XML de novos caracteres de linha.