XmlTextReader Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância do XmlTextReader.
Sobrecargas
XmlTextReader() |
Inicializa uma nova instância do |
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();
protected XmlTextReader ();
Protected Sub New ()
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(System::String ^ xmlFragment, System::Xml::XmlNodeType fragType, System::Xml::XmlParserContext ^ context);
public XmlTextReader (string xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext? context);
public XmlTextReader (string xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext context);
new System.Xml.XmlTextReader : string * System.Xml.XmlNodeType * System.Xml.XmlParserContext -> System.Xml.XmlTextReader
Public Sub New (xmlFragment As String, fragType As XmlNodeType, context As XmlParserContext)
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 Document
XmlNodeType
.
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.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int 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 = gcnew NameTable;
XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( nt );
nsmgr->AddNamespace( "bk", "urn:sample" );
// Create the XmlParserContext.
XmlParserContext^ context = gcnew XmlParserContext( nullptr,nsmgr,nullptr,XmlSpace::None );
// Create the reader.
XmlTextReader^ reader = gcnew 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 {0}", reader->NamespaceURI );
}
}
}
// Close the reader.
reader->Close();
}
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
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
'Create the XML fragment to be parsed.
Dim xmlFrag as string ="<book> " & _
"<title>Pride And Prejudice</title>" & _
"<bk:genre>novel</bk:genre>" & _
"</book>"
'Create the XmlNamespaceManager.
Dim nt as NameTable = new NameTable()
Dim nsmgr as XmlNamespaceManager = new XmlNamespaceManager(nt)
nsmgr.AddNamespace("bk", "urn:sample")
'Create the XmlParserContext.
Dim context as XmlParserContext = new XmlParserContext(nothing, nsmgr, nothing, XmlSpace.None)
'Create the reader.
Dim reader as XmlTextReader = 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)
end if
end if
end while
'Close the reader.
reader.Close()
end sub
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(System::String ^ url, System::IO::TextReader ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.IO.TextReader input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.IO.TextReader * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, input As TextReader, nt As XmlNameTable)
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(System::String ^ url, System::IO::Stream ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.IO.Stream input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.IO.Stream * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, input As Stream, nt As XmlNameTable)
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);
public XmlTextReader (System.IO.Stream xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext context);
new System.Xml.XmlTextReader : System.IO.Stream * System.Xml.XmlNodeType * System.Xml.XmlParserContext -> System.Xml.XmlTextReader
Public Sub New (xmlFragment As Stream, fragType As XmlNodeType, context As XmlParserContext)
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.
Verifica a XmlParserContext.Encoding propriedade para determinar a codificação.
Se a
Encoding
propriedade fornull
, o leitor verificará uma marca de ordem de byte no início do fluxo.Se a
Encoding
propriedade fornull
, 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(System::String ^ url, System::IO::TextReader ^ input);
public XmlTextReader (string url, System.IO.TextReader input);
new System.Xml.XmlTextReader : string * System.IO.TextReader -> System.Xml.XmlTextReader
Public Sub New (url As String, input As TextReader)
Parâmetros
- 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(System::String ^ url, System::IO::Stream ^ input);
public XmlTextReader (string url, System.IO.Stream input);
new System.Xml.XmlTextReader : string * System.IO.Stream -> System.Xml.XmlTextReader
Public Sub New (url As String, input As Stream)
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.
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(System::String ^ url, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, nt As XmlNameTable)
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);
public XmlTextReader (System.IO.Stream input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.IO.Stream * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (input As Stream, nt As XmlNameTable)
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);
protected XmlTextReader (System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Protected Sub New (nt As XmlNameTable)
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(System::String ^ url);
public XmlTextReader (string url);
new System.Xml.XmlTextReader : string -> System.Xml.XmlTextReader
Public Sub New (url As String)
Parâmetros
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.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ reader = nullptr;
String^ filename = "items.xml";
try
{
// Load the reader with the data file and ignore all white space nodes.
reader = gcnew 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 != nullptr )
reader->Close();
}
}
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
Option Strict
Option Explicit
Imports System.IO
Imports System.Xml
'Reads an XML document
Public Class Sample
Private Const filename As String = "items.xml"
Public Shared Sub Main()
Dim reader As XmlTextReader = Nothing
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()
Select Case reader.NodeType
Case XmlNodeType.Element
Console.Write("<{0}>", reader.Name)
Case XmlNodeType.Text
Console.Write(reader.Value)
Case XmlNodeType.CDATA
Console.Write("<![CDATA[{0}]]>", reader.Value)
Case XmlNodeType.ProcessingInstruction
Console.Write("<?{0} {1}?>", reader.Name, reader.Value)
Case XmlNodeType.Comment
Console.Write("<!--{0}-->", reader.Value)
Case XmlNodeType.XmlDeclaration
Console.Write("<?xml version='1.0'?>")
Case XmlNodeType.Document
Case XmlNodeType.DocumentType
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value)
Case XmlNodeType.EntityReference
Console.Write(reader.Name)
Case XmlNodeType.EndElement
Console.Write("</{0}>", reader.Name)
End Select
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub
End Class
O exemplo usa o arquivo, items.xml
como 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);
public XmlTextReader (System.IO.TextReader input);
new System.Xml.XmlTextReader : System.IO.TextReader -> System.Xml.XmlTextReader
Public Sub New (input As TextReader)
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.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
String^ xmlData = "<book>\r\n <title>Oberon's Legacy</title>\r\n <price>5.95</price>\r\n </book>";
// Create the reader.
XmlTextReader^ reader = gcnew XmlTextReader( gcnew 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();
}
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
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
Dim xmlData as string
xmlData = "<book>" & _
" <title>Oberon's Legacy</title>" & _
" <price>5.95</price>" & _
"</book>"
' Create the reader.
Dim reader as XmlTextReader = new XmlTextReader(new StringReader(xmlData))
reader.WhitespaceHandling = WhitespaceHandling.None
' Display each element node.
while reader.Read()
select case reader.NodeType
case XmlNodeType.Element
Console.Write("<{0}>", reader.Name)
case XmlNodeType.Text
Console.Write(reader.Value)
case XmlNodeType.EndElement
Console.Write("</{0}>", reader.Name)
end select
end while
' Close the reader.
reader.Close()
end sub
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);
public XmlTextReader (System.IO.Stream input);
new System.Xml.XmlTextReader : System.IO.Stream -> System.Xml.XmlTextReader
Public Sub New (input As Stream)
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);
public XmlTextReader (System.IO.TextReader input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.IO.TextReader * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (input As TextReader, nt As XmlNameTable)
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.