XmlTextReader Construtores

Definição

Inicializa uma nova instância do XmlTextReader.

Sobrecargas

XmlTextReader()

Inicializa uma nova instância do XmlTextReader.

XmlTextReader(String, XmlNodeType, XmlParserContext)

Inicializa uma nova instância da classe XmlTextReader com a cadeia de caracteres especificada, XmlNodeType e XmlParserContext.

XmlTextReader(String, TextReader, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com a URL especificada, TextReader e XmlNameTable.

XmlTextReader(String, Stream, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com a URL, o fluxo e XmlNameTable especificados.

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Inicializa uma nova instância da classe XmlTextReader com o fluxo especificado, XmlNodeType e XmlParserContext.

XmlTextReader(String, TextReader)

Inicializa uma nova instância da classe XmlTextReader com a URL especificada e TextReader.

XmlTextReader(String, Stream)

Inicializa uma nova instância da classe XmlTextReader com a URL e o fluxo especificados.

XmlTextReader(String, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com o arquivo especificado e XmlNameTable.

XmlTextReader(Stream, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com o fluxo especificado e XmlNameTable.

XmlTextReader(XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com o XmlNameTable especificado.

XmlTextReader(String)

Inicializa uma nova instância da classe XmlTextReader com o arquivo especificado.

XmlTextReader(TextReader)

Inicializa uma nova instância da classe XmlTextReader com o TextReader especificado.

XmlTextReader(Stream)

Inicializa uma nova instância da classe XmlTextReader com o fluxo especificado.

XmlTextReader(TextReader, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com o TextReader e XmlNameTable especificados.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

XmlTextReader()

Inicializa uma nova instância do XmlTextReader.

protected XmlTextReader ();

Confira também

Aplica-se a

XmlTextReader(String, XmlNodeType, XmlParserContext)

Inicializa uma nova instância da classe XmlTextReader com a cadeia de caracteres especificada, XmlNodeType e XmlParserContext.

public XmlTextReader (string xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext? context);
public XmlTextReader (string xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext context);

Parâmetros

xmlFragment
String

A cadeia de caracteres que contém o fragmento XML a ser analisado.

fragType
XmlNodeType

O XmlNodeType do fragmento XML. Ele também determina o que a cadeia de caracteres de fragmento pode conter. (Consulte a tabela abaixo.)

context
XmlParserContext

O XmlParserContext no qual o xmlFragment deve ser analisados. Isso inclui o XmlNameTable a ser usado, codificação, o escopo de namespace, o xml:lang atual e o escopo xml:space.

Exceções

fragType não é um Element, Attribute ou DocumentXmlNodeType.

xmlFragment é null.

Exemplos

O exemplo a seguir analisa um fragmento XML. Ele usa o XmlParserContext e o seu XmlNamespaceManager para lidar com a resolução de namespace.

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {

    //Create the XML fragment to be parsed.
    string xmlFrag ="<book> " +
                    "<title>Pride And Prejudice</title>" +
                    "<bk:genre>novel</bk:genre>" +
                    "</book>";

    //Create the XmlNamespaceManager.
    NameTable nt = new NameTable();
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
    nsmgr.AddNamespace("bk", "urn:sample");

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

    //Create the reader.
    XmlTextReader reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);

    //Parse the XML.  If they exist, display the prefix and
    //namespace URI of each element.
    while (reader.Read()){
      if (reader.IsStartElement()){
        if (reader.Prefix==String.Empty)
                {
                    Console.WriteLine("<{0}>", reader.LocalName);
                }
                else
                {
            Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName);
            Console.WriteLine(" The namespace URI is " + reader.NamespaceURI);
        }
      }
    }

    //Close the reader.
    reader.Close();
  }
} // End class

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Esse construtor analisa a cadeia de caracteres fornecida como um fragmento de XML. Se o fragmento XML for um elemento ou atributo, você poderá ignorar as regras de nível raiz para documentos XML bem formados. Esse construtor pode manipular cadeias de caracteres retornadas de ReadInnerXml.

A tabela a seguir lista valores válidos e como fragType o leitor analisa cada um dos diferentes tipos de nó.

XmlNodeType Fragmento pode conter
Elemento Qualquer conteúdo de elemento válido (por exemplo, qualquer combinação de elementos, comentários, instruções de processamento, seções CDATA, texto e referências de entidade).

Uma declaração XML também pode ser fornecida. Isso permite que você especifique a codificação do fragmento XML, em vez de ter que defini-lo no XmlParserContext objeto.
Atributo O valor de um atributo (a parte dentro das aspas).
Documento O conteúdo de um documento inteiro XML. Isso impõe regras de nível de documento.

Confira também

Aplica-se a

XmlTextReader(String, TextReader, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com a URL especificada, TextReader e XmlNameTable.

public XmlTextReader (string url, System.IO.TextReader input, System.Xml.XmlNameTable nt);

Parâmetros

url
String

A URL a ser usada para resolver recursos externos. O BaseURI é definido para esse valor. Se url é null, BaseURI é definido como String.Empty.

input
TextReader

O TextReader que contém os dados XML a serem lidos.

nt
XmlNameTable

O XmlNameTable a ser usado.

Exceções

O valor nt é null.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Supõe-se que TextReader já esteja definido como a codificação correta. Isso é usado por clientes que já leram algumas coisas do fluxo em um cenário MIME de várias partes.

Confira também

Aplica-se a

XmlTextReader(String, Stream, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com a URL, o fluxo e XmlNameTable especificados.

public XmlTextReader (string url, System.IO.Stream input, System.Xml.XmlNameTable nt);

Parâmetros

url
String

A URL a ser usada para resolver recursos externos. O BaseURI é definido para esse valor. Se url é null, BaseURI é definido como String.Empty.

input
Stream

O fluxo que contém os dados XML a serem lidos.

nt
XmlNameTable

O XmlNameTable a ser usado.

Exceções

O valor input ou nt é null.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Confira também

Aplica-se a

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Inicializa uma nova instância da classe XmlTextReader com o fluxo especificado, XmlNodeType e XmlParserContext.

public XmlTextReader (System.IO.Stream xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext? context);
public XmlTextReader (System.IO.Stream xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext context);

Parâmetros

xmlFragment
Stream

O fluxo que contém o fragmento XML a ser analisado.

fragType
XmlNodeType

O XmlNodeType do fragmento XML. Ele também determina o que o fragmento pode conter. (Consulte a tabela abaixo.)

context
XmlParserContext

O XmlParserContext no qual o xmlFragment deve ser analisados. Isso inclui o XmlNameTable a ser usado, codificação, o escopo de namespace, o xml:lang atual e o escopo xml:space.

Exceções

fragType não é um Elemento, Atributo ou Documento XmlNodeType.

xmlFragment é null.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Esse construtor analisa a cadeia de caracteres fornecida como um fragmento de XML. Se o fragmento XML for um elemento ou atributo, você poderá ignorar as regras de nível raiz para documentos XML bem formados.

A tabela a seguir lista valores válidos para fragType.

XmlNodeType Fragmento pode conter
Element Qualquer conteúdo de elemento válido (por exemplo, qualquer combinação de elementos, comentários, instruções de processamento, seções CDATA, texto e referências de entidade).

Uma declaração XML também pode ser fornecida. Isso permite que você especifique a codificação do fragmento XML, em vez de ter que defini-lo no XmlParserContext objeto.
Attribute O valor de um atributo (a parte dentro das aspas).
Document O conteúdo de um documento inteiro XML. Isso impõe regras de nível de documento.

O leitor usa o seguinte para determinar a codificação do fluxo.

  1. Verifica a XmlParserContext.Encoding propriedade para determinar a codificação.

  2. Se a Encoding propriedade for null, o leitor verificará uma marca de ordem de byte no início do fluxo.

  3. Se a Encoding propriedade for null, e nenhuma marca de ordem de byte for encontrada, o leitor assumirá que o fluxo está codificado em UTF-8.

Confira também

Aplica-se a

XmlTextReader(String, TextReader)

Inicializa uma nova instância da classe XmlTextReader com a URL especificada e TextReader.

public XmlTextReader (string url, System.IO.TextReader input);

Parâmetros

url
String

A URL a ser usada para resolver recursos externos. O BaseURI é definido para esse valor.

input
TextReader

O TextReader que contém os dados XML a serem lidos.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Supõe-se que TextReader já esteja definido como a codificação correta. Isso é usado por clientes que já leram algumas coisas do fluxo em um cenário MIME de várias partes.

Confira também

Aplica-se a

XmlTextReader(String, Stream)

Inicializa uma nova instância da classe XmlTextReader com a URL e o fluxo especificados.

public XmlTextReader (string url, System.IO.Stream input);

Parâmetros

url
String

A URL a ser usada para resolver recursos externos. O BaseURI é definido para esse valor.

input
Stream

O fluxo que contém os dados XML a serem lidos.

Exceções

input é null.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Confira também

Aplica-se a

XmlTextReader(String, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com o arquivo especificado e XmlNameTable.

public XmlTextReader (string url, System.Xml.XmlNameTable nt);

Parâmetros

url
String

A URL do arquivo que contém os dados XML a serem lidos.

nt
XmlNameTable

O XmlNameTable a ser usado.

Exceções

O valor nt é null.

Não foi possível localizar o arquivo especificado.

Não foi possível encontrar parte do nome do arquivo ou diretório.

url é uma cadeia de caracteres vazia.

Não foi possível resolver o nome do arquivo remoto.

- ou -

Ocorreu um erro ao processar a solicitação.

url não é um URI válido.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Confira também

Aplica-se a

XmlTextReader(Stream, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com o fluxo especificado e XmlNameTable.

public XmlTextReader (System.IO.Stream input, System.Xml.XmlNameTable nt);

Parâmetros

input
Stream

O fluxo que contém os dados XML a serem lidos.

nt
XmlNameTable

O XmlNameTable a ser usado.

Exceções

O valor input ou nt é null.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

O XmlTextReader decodifica o fluxo usando System.Text.Encoding.

Se você especificar uma tabela de nomes, esse construtor usará os nomes já definidos nessa tabela.

Confira também

Aplica-se a

XmlTextReader(XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com o XmlNameTable especificado.

protected XmlTextReader (System.Xml.XmlNameTable nt);

Parâmetros

nt
XmlNameTable

O XmlNameTable a ser usado.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Confira também

Aplica-se a

XmlTextReader(String)

Inicializa uma nova instância da classe XmlTextReader com o arquivo especificado.

public XmlTextReader (string url);

Parâmetros

url
String

A URL do arquivo que contém os dados XML. O BaseURI é definido para esse valor.

Exceções

Não foi possível localizar o arquivo especificado.

Não foi possível encontrar parte do nome do arquivo ou diretório.

url é uma cadeia de caracteres vazia.

Não foi possível resolver o nome do arquivo remoto.

- ou -

Ocorreu um erro ao processar a solicitação.

url não é um URI válido.

Exemplos

O exemplo a seguir lê um arquivo XML e exibe cada um dos nós.

using System;
using System.IO;
using System.Xml;

public class Sample {

  private const String filename = "items.xml";

  public static void Main() {

     XmlTextReader reader = null;

     try {

        // Load the reader with the data file and ignore all white space nodes.
        reader = new XmlTextReader(filename);
        reader.WhitespaceHandling = WhitespaceHandling.None;

        // Parse the file and display each of the nodes.
        while (reader.Read()) {
           switch (reader.NodeType) {
             case XmlNodeType.Element:
               Console.Write("<{0}>", reader.Name);
               break;
             case XmlNodeType.Text:
               Console.Write(reader.Value);
               break;
             case XmlNodeType.CDATA:
               Console.Write("<![CDATA[{0}]]>", reader.Value);
               break;
             case XmlNodeType.ProcessingInstruction:
               Console.Write("<?{0} {1}?>", reader.Name, reader.Value);
               break;
             case XmlNodeType.Comment:
               Console.Write("<!--{0}-->", reader.Value);
               break;
             case XmlNodeType.XmlDeclaration:
               Console.Write("<?xml version='1.0'?>");
               break;
             case XmlNodeType.Document:
               break;
             case XmlNodeType.DocumentType:
               Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
               break;
             case XmlNodeType.EntityReference:
               Console.Write(reader.Name);
               break;
             case XmlNodeType.EndElement:
               Console.Write("</{0}>", reader.Name);
               break;
           }
        }
     }

     finally {
        if (reader!=null)
          reader.Close();
     }
  }
} // End class

O exemplo usa o arquivo, items.xmlcomo entrada.


<?xml version="1.0"?>
<!-- This is a sample XML document -->
<!DOCTYPE Items [<!ENTITY number "123">]>
<Items>
  <Item>Test with an entity: &number;</Item>
  <Item>test with a child element <more/> stuff</Item>
  <Item>test with a CDATA section <![CDATA[<456>]]> def</Item>
  <Item>Test with an char entity: A</Item>
  <!-- Fourteen chars in this element.-->
  <Item>1234567890ABCD</Item>
</Items>

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Se o arquivo estiver localizado em um recurso que requer credenciais de acesso, use a XmlResolver propriedade para especificar as credenciais necessárias.

Observação

Na versão 1.1 do .NET Framework, o código parcialmente confiável não pode definir a XmlResolver propriedade. A solução alternativa é criar um XmlUrlResolver com as credenciais necessárias, passar o URI para o XmlUrlResolver.GetEntity método e, em seguida, construir o XmlTextReader uso do objeto resultante Stream . A solução alternativa é descrita no código C# a seguir.

// Create a resolver with the necessary credentials.  
XmlUrlResolver resolver = new XmlUrlResolver();  
NetworkCredential nc = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword, SecurelyStoredDomain);  
resolver.Credentials = nc;   
// Get a Stream object containing the XML file.  
Uri myUri = new Uri ("http://myServer/data/books.xml");  
Stream s=(Stream)resolver.GetEntity(myUri, null, typeof(Stream));  
// Construct a reader using the Stream object.  
XmlTextReader reader = new XmlTextReader(s);  

Confira também

Aplica-se a

XmlTextReader(TextReader)

Inicializa uma nova instância da classe XmlTextReader com o TextReader especificado.

public XmlTextReader (System.IO.TextReader input);

Parâmetros

input
TextReader

O TextReader que contém os dados XML a serem lidos.

Exemplos

O exemplo a seguir carrega uma cadeia de caracteres XML no XmlTextReader objeto usando a StringReader classe.

using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

    string xmlData =
    @"<book>
       <title>Oberon's Legacy</title>
       <price>5.95</price>
      </book>";

    // Create the reader.
    XmlTextReader reader = new XmlTextReader(new StringReader(xmlData));
    reader.WhitespaceHandling = WhitespaceHandling.None;

    // Display each element node.
    while (reader.Read()){
       switch (reader.NodeType){
         case XmlNodeType.Element:
           Console.Write("<{0}>", reader.Name);
           break;
         case XmlNodeType.Text:
           Console.Write(reader.Value);
           break;
         case XmlNodeType.EndElement:
           Console.Write("</{0}>", reader.Name);
           break;
      }
    }

    // Close the reader.
    reader.Close();
  }
} // End class

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Supõe-se que TextReader já esteja definido como a codificação correta. Isso é usado por clientes que já leram algumas coisas do fluxo em um cenário MIME de várias partes.

Confira também

Aplica-se a

XmlTextReader(Stream)

Inicializa uma nova instância da classe XmlTextReader com o fluxo especificado.

public XmlTextReader (System.IO.Stream input);

Parâmetros

input
Stream

O fluxo que contém os dados XML a serem lidos.

Exceções

input é null.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

O XmlTextReader decodifica o fluxo usando System.Text.Encoding.

Confira também

Aplica-se a

XmlTextReader(TextReader, XmlNameTable)

Inicializa uma nova instância da classe XmlTextReader com o TextReader e XmlNameTable especificados.

public XmlTextReader (System.IO.TextReader input, System.Xml.XmlNameTable nt);

Parâmetros

input
TextReader

O TextReader que contém os dados XML a serem lidos.

nt
XmlNameTable

O XmlNameTable a ser usado.

Exceções

O valor nt é null.

Comentários

Observação

A partir do .NET Framework 2.0, recomendamos que você crie XmlReader instâncias usando o XmlReader.Create método para aproveitar a nova funcionalidade.

Supõe-se que TextReader já esteja definido como a codificação correta. Isso é usado por clientes que já leram algumas coisas do fluxo em um cenário MIME de várias partes.

Confira também

Aplica-se a