XmlTextReader Costruttori

Definizione

Inizializza una nuova istanza dell'oggetto XmlTextReader.Initializes a new instance of the XmlTextReader.

Overload

XmlTextReader()

Inizializza una nuova istanza dell'oggetto XmlTextReader.Initializes a new instance of the XmlTextReader.

XmlTextReader(String, XmlNodeType, XmlParserContext)

Inizializza una nuova istanza della classe XmlTextReader con la stringa e gli oggetti XmlNodeType e XmlParserContext specificati.Initializes a new instance of the XmlTextReader class with the specified string, XmlNodeType, and XmlParserContext.

XmlTextReader(String, TextReader, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con l'URL e gli oggetti TextReader e XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified URL, TextReader and XmlNameTable.

XmlTextReader(String, Stream, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con l'URL, il flusso e l'oggetto XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified URL, stream and XmlNameTable.

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Inizializza una nuova istanza della classe XmlTextReader con il flusso e gli oggetti XmlNodeType e XmlParserContext specificati.Initializes a new instance of the XmlTextReader class with the specified stream, XmlNodeType, and XmlParserContext.

XmlTextReader(String, TextReader)

Inizializza una nuova istanza della classe XmlTextReader con l'URL e l'oggetto TextReader specificati.Initializes a new instance of the XmlTextReader class with the specified URL and TextReader.

XmlTextReader(String, Stream)

Inizializza una nuova istanza della classe XmlTextReader con l'URL e il flusso specificati.Initializes a new instance of the XmlTextReader class with the specified URL and stream.

XmlTextReader(String, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con il file e l'oggetto XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified file and XmlNameTable.

XmlTextReader(Stream, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con il flusso e l'oggetto XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified stream and XmlNameTable.

XmlTextReader(XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con l'oggetto XmlNameTable specificato.Initializes a new instance of the XmlTextReader class with the specified XmlNameTable.

XmlTextReader(String)

Inizializza una nuova istanza della classe XmlTextReader con il file specificato.Initializes a new instance of the XmlTextReader class with the specified file.

XmlTextReader(TextReader)

Inizializza una nuova istanza della classe XmlTextReader con l'oggetto TextReader specificato.Initializes a new instance of the XmlTextReader class with the specified TextReader.

XmlTextReader(Stream)

Inizializza una nuova istanza della classe XmlTextReader con il flusso specificato.Initializes a new instance of the XmlTextReader class with the specified stream.

XmlTextReader(TextReader, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con gli oggetti TextReader e XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified TextReader and XmlNameTable.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

XmlTextReader()

Inizializza una nuova istanza dell'oggetto XmlTextReader.Initializes a new instance of the XmlTextReader.

protected:
 XmlTextReader();
protected XmlTextReader ();
Protected Sub New ()

Vedi anche

XmlTextReader(String, XmlNodeType, XmlParserContext)

Inizializza una nuova istanza della classe XmlTextReader con la stringa e gli oggetti XmlNodeType e XmlParserContext specificati.Initializes a new instance of the XmlTextReader class with the specified string, XmlNodeType, and 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);
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)

Parametri

xmlFragment
String

Stringa che contiene il frammento XML da analizzare.The string containing the XML fragment to parse.

fragType
XmlNodeType

Oggetto XmlNodeType del frammento XML.The XmlNodeType of the XML fragment. Determina anche il possibile contenuto della stringa del frammento.This also determines what the fragment string can contain. Vedere la tabella seguente.(See table below.)

context
XmlParserContext

Oggetto XmlParserContext in cui deve essere analizzato xmlFragment.The XmlParserContext in which the xmlFragment is to be parsed. Include l'oggetto XmlNameTable da usare, la codifica, l'ambito dello spazio dei nomi, l'ambito xml:lang corrente e l'ambito xml:space.This includes the XmlNameTable to use, encoding, namespace scope, the current xml:lang, and the xml:space scope.

Eccezioni

fragType non è Element, Attribute o DocumentXmlNodeType.fragType is not an Element, Attribute, or DocumentXmlNodeType.

xmlFragment è null.xmlFragment is null.

Esempio

Nell'esempio seguente viene analizzato un frammento XML.The following example parses an XML fragment. Usa il XmlParserContext e il relativo XmlNamespaceManager per gestire la risoluzione dello spazio dei nomi.It uses the XmlParserContext and its XmlNamespaceManager to handle namespace resolution.

#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

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Questo costruttore analizza la stringa specificata come frammento di XML.This constructor parses the given string as a fragment of XML. Se il frammento XML è un elemento o un attributo, è possibile ignorare le regole a livello di radice per i documenti XML ben formati.If the XML fragment is an element or attribute, you can bypass the root level rules for well-formed XML documents. Questo costruttore può gestire le stringhe restituite da ReadInnerXml.This constructor can handle strings returned from ReadInnerXml.

Nella tabella seguente sono elencati i valori validi per fragType e il modo in cui il Reader analizza ognuno dei diversi tipi di nodo.The following table lists valid values for fragType and how the reader parses each of the different node types.

XmlNodeTypeXmlNodeType Il frammento può contenereFragment May Contain
ElementoElement Qualsiasi contenuto di elemento valido, ad esempio qualsiasi combinazione di elementi, commenti, istruzioni di elaborazione, sezioni CDATA, testo e riferimenti a entità.Any valid element content (for example, any combination of elements, comments, processing instructions, CDATA sections, text, and entity references).

È possibile fornire anche una dichiarazione XML.An XML declaration can also be supplied. In questo modo è possibile specificare la codifica per il frammento XML, anziché impostarla sull'oggetto XmlParserContext.This allows you to specify the encoding for the XML fragment, rather than having to set it on the XmlParserContext object.
AttributoAttribute Valore di un attributo (la parte all'interno delle virgolette).The value of an attribute (the part inside the quotes).
DocumentDocument Contenuto di un intero documento XML.The contents of an entire XML document. Questa operazione impone le regole a livello di documento.This enforces document level rules.

Vedi anche

XmlTextReader(String, TextReader, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con l'URL e gli oggetti TextReader e XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified URL, TextReader and 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)

Parametri

url
String

URL da usare per la risoluzione di risorse esterne.The URL to use for resolving external resources. La proprietà BaseURI è impostata su questo valore.The BaseURI is set to this value. Se url è null, BaseURI viene impostato su String.Empty.If url is null, BaseURI is set to String.Empty.

input
TextReader

Oggetto TextReader che contiene i dati XML da leggere.The TextReader containing the XML data to read.

nt
XmlNameTable

Oggetto XmlNameTable da usare.The XmlNameTable to use.

Eccezioni

Il valore di nt è null.The nt value is null.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Si presuppone che il costruttore TextReader sia già impostato sulla codifica corretta.It is assumed that the TextReader is already set to the correct encoding. Viene usato dai client che hanno già letto alcuni elementi dal flusso in uno scenario MIME multiparte.This is used by clients that have already read some things from the stream in a multi-part MIME scenario.

Vedi anche

XmlTextReader(String, Stream, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con l'URL, il flusso e l'oggetto XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified URL, stream and XmlNameTable.

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)

Parametri

url
String

URL da usare per la risoluzione di risorse esterne.The URL to use for resolving external resources. La proprietà BaseURI è impostata su questo valore.The BaseURI is set to this value. Se url è null, BaseURI viene impostato su String.Empty.If url is null, BaseURI is set to String.Empty.

input
Stream

Flusso contenente i dati XML da leggere.The stream containing the XML data to read.

nt
XmlNameTable

Oggetto XmlNameTable da usare.The XmlNameTable to use.

Eccezioni

Il valore di input o nt è null.The input or nt value is null.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Vedi anche

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Inizializza una nuova istanza della classe XmlTextReader con il flusso e gli oggetti XmlNodeType e XmlParserContext specificati.Initializes a new instance of the XmlTextReader class with the specified stream, XmlNodeType, and 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);
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)

Parametri

xmlFragment
Stream

Flusso contenente il frammento XML da analizzare.The stream containing the XML fragment to parse.

fragType
XmlNodeType

Oggetto XmlNodeType del frammento XML.The XmlNodeType of the XML fragment. Determina anche il possibile contenuto del frammento.This also determines what the fragment can contain. Vedere la tabella seguente.(See table below.)

context
XmlParserContext

Oggetto XmlParserContext in cui deve essere analizzato xmlFragment.The XmlParserContext in which the xmlFragment is to be parsed. Include l'oggetto XmlNameTable da usare, la codifica, l'ambito dello spazio dei nomi, l'ambito xml:lang corrente e l'ambito xml:space.This includes the XmlNameTable to use, encoding, namespace scope, the current xml:lang, and the xml:space scope.

Eccezioni

fragType non è un XmlNodeType di tipo Element, Attribute o Document.fragType is not an Element, Attribute, or Document XmlNodeType.

xmlFragment è null.xmlFragment is null.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Questo costruttore analizza la stringa specificata come frammento di XML.This constructor parses the given string as a fragment of XML. Se il frammento XML è un elemento o un attributo, è possibile ignorare le regole a livello di radice per i documenti XML ben formati.If the XML fragment is an element or attribute, you can bypass the root level rules for well-formed XML documents.

Nella tabella seguente sono elencati i valori validi per fragType.The following table lists valid values for fragType.

XmlNodeTypeXmlNodeType Il frammento può contenereFragment May Contain
Element Qualsiasi contenuto di elemento valido, ad esempio qualsiasi combinazione di elementi, commenti, istruzioni di elaborazione, sezioni CDATA, testo e riferimenti a entità.Any valid element content (for example, any combination of elements, comments, processing instructions, CDATA sections, text, and entity references).

È possibile fornire anche una dichiarazione XML.An XML declaration can also be supplied. In questo modo è possibile specificare la codifica per il frammento XML, anziché impostarla sull'oggetto XmlParserContext.This allows you to specify the encoding for the XML fragment, rather than having to set it on the XmlParserContext object.
Attribute Valore di un attributo (la parte all'interno delle virgolette).The value of an attribute (the part inside the quotes).
Document Contenuto di un intero documento XML.The contents of an entire XML document. Questa operazione impone le regole a livello di documento.This enforces document level rules.

Il lettore usa il comando seguente per determinare la codifica del flusso.The reader uses the following to determine the encoding of the stream.

  1. Controlla la proprietà XmlParserContext.Encoding per determinare la codifica.Checks the XmlParserContext.Encoding property to determine the encoding.

  2. Se la proprietà Encoding è null, il lettore controlla la presenza di un indicatore dell'ordine dei byte all'inizio del flusso.If the Encoding property is null, the reader checks for a byte-order mark at the beginning of the stream.

  3. Se la proprietà Encoding è nulle non viene trovato alcun contrassegno per l'ordine dei byte, il lettore presuppone che il flusso sia codificato in UTF-8.If the Encoding property is null, and no byte-order mark is found, the reader assumes the stream is encoded in UTF-8.

Vedi anche

XmlTextReader(String, TextReader)

Inizializza una nuova istanza della classe XmlTextReader con l'URL e l'oggetto TextReader specificati.Initializes a new instance of the XmlTextReader class with the specified URL and 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)

Parametri

url
String

URL da usare per la risoluzione di risorse esterne.The URL to use for resolving external resources. La proprietà BaseURI è impostata su questo valore.The BaseURI is set to this value.

input
TextReader

Oggetto TextReader che contiene i dati XML da leggere.The TextReader containing the XML data to read.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Si presuppone che il costruttore TextReader sia già impostato sulla codifica corretta.It is assumed that the TextReader is already set to the correct encoding. Viene usato dai client che hanno già letto alcuni elementi dal flusso in uno scenario MIME multiparte.This is used by clients that have already read some things from the stream in a multi-part MIME scenario.

Vedi anche

XmlTextReader(String, Stream)

Inizializza una nuova istanza della classe XmlTextReader con l'URL e il flusso specificati.Initializes a new instance of the XmlTextReader class with the specified URL and stream.

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)

Parametri

url
String

URL da usare per la risoluzione di risorse esterne.The URL to use for resolving external resources. La proprietà BaseURI è impostata su questo valore.The BaseURI is set to this value.

input
Stream

Flusso contenente i dati XML da leggere.The stream containing the XML data to read.

Eccezioni

input è null.input is null.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Vedi anche

XmlTextReader(String, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con il file e l'oggetto XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified file and 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)

Parametri

url
String

URL del file che contiene i dati XML da leggere.The URL for the file containing the XML data to read.

nt
XmlNameTable

Oggetto XmlNameTable da usare.The XmlNameTable to use.

Eccezioni

Il valore di nt è null.The nt value is null.

Impossibile trovare il file specificato.The specified file cannot be found.

Impossibile trovare parte del nome file o della directory.Part of the filename or directory cannot be found.

Il parametro url è una stringa vuota.url is an empty string.

Il nome file remoto non può essere risolto.The remote filename cannot be resolved.

-oppure--or-

Si è verificato un errore durante l'elaborazione della richiesta.An error occurred while processing the request.

url non è un URI valido.url is not a valid URI.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Vedi anche

XmlTextReader(Stream, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con il flusso e l'oggetto XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified stream and 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)

Parametri

input
Stream

Flusso contenente i dati XML da leggere.The stream containing the XML data to read.

nt
XmlNameTable

Oggetto XmlNameTable da usare.The XmlNameTable to use.

Eccezioni

Il valore di input o nt è null.The input or nt value is null.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Il XmlTextReader decodifica il flusso utilizzando System.Text.Encoding.The XmlTextReader decodes the stream using System.Text.Encoding.

Se si specifica una tabella dei nomi, il costruttore utilizzerà i nomi definiti già nella tabella.If you specify a name table, this constructor uses the names defined already in that table.

Vedi anche

XmlTextReader(XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con l'oggetto XmlNameTable specificato.Initializes a new instance of the XmlTextReader class with the specified XmlNameTable.

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)

Parametri

nt
XmlNameTable

Oggetto XmlNameTable da usare.The XmlNameTable to use.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Vedi anche

XmlTextReader(String)

Inizializza una nuova istanza della classe XmlTextReader con il file specificato.Initializes a new instance of the XmlTextReader class with the specified file.

public:
 XmlTextReader(System::String ^ url);
public XmlTextReader (string url);
new System.Xml.XmlTextReader : string -> System.Xml.XmlTextReader
Public Sub New (url As String)

Parametri

url
String

URL del file che contiene i dati XML.The URL for the file containing the XML data. La proprietà BaseURI è impostata su questo valore.The BaseURI is set to this value.

Eccezioni

Impossibile trovare il file specificato.The specified file cannot be found.

Impossibile trovare parte del nome file o della directory.Part of the filename or directory cannot be found.

Il parametro url è una stringa vuota.url is an empty string.

Il nome file remoto non può essere risolto.The remote filename cannot be resolved.

-oppure--or-

Si è verificato un errore durante l'elaborazione della richiesta.An error occurred while processing the request.

url non è un URI valido.url is not a valid URI.

Esempio

Nell'esempio seguente viene letto un file XML e vengono visualizzati tutti i nodi.The following example reads an XML file and displays each of the nodes.

#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

Nell'esempio viene usato il file items.xmlcome input.The example uses the file, items.xml, as input.


<?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: &#65;</Item>
  <!-- Fourteen chars in this element.-->
  <Item>1234567890ABCD</Item>
</Items>

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Se il file si trova in una risorsa che richiede credenziali di accesso, utilizzare la proprietà XmlResolver per specificare le credenziali necessarie.If the file is located on a resource that requires access credentials, use the XmlResolver property to specify the necessary credentials.

Nota

Nella versione 1,1 della .NET Framework.NET Framework, il codice parzialmente attendibile non è in grado di impostare la proprietà XmlResolver.In version 1.1 of the .NET Framework.NET Framework, partially trusted code cannot set the XmlResolver property. La soluzione alternativa consiste nel creare un XmlUrlResolver con le credenziali necessarie, passare l'URI al metodo XmlUrlResolver.GetEntity e quindi costruire il XmlTextReader utilizzando l'oggetto Stream risultante.The workaround is to create an XmlUrlResolver with the necessary credentials, pass the URI to the XmlUrlResolver.GetEntity method, and then construct the XmlTextReader using the resulting Stream object. La soluzione alternativa è descritta nel codice C# riportato di seguito.The workaround is described in the following C# code.

// 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);  

Vedi anche

XmlTextReader(TextReader)

Inizializza una nuova istanza della classe XmlTextReader con l'oggetto TextReader specificato.Initializes a new instance of the XmlTextReader class with the specified TextReader.

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)

Parametri

input
TextReader

Oggetto TextReader che contiene i dati XML da leggere.The TextReader containing the XML data to read.

Esempio

Nell'esempio seguente viene caricata una stringa XML nell'oggetto XmlTextReader usando la classe StringReader.The following example loads an XML string into the XmlTextReader object using the StringReader class.

#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

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Si presuppone che il costruttore TextReader sia già impostato sulla codifica corretta.It is assumed that the TextReader is already set to the correct encoding. Viene usato dai client che hanno già letto alcuni elementi dal flusso in uno scenario MIME multiparte.This is used by clients that have already read some things from the stream in a multi-part MIME scenario.

Vedi anche

XmlTextReader(Stream)

Inizializza una nuova istanza della classe XmlTextReader con il flusso specificato.Initializes a new instance of the XmlTextReader class with the specified stream.

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)

Parametri

input
Stream

Flusso contenente i dati XML da leggere.The stream containing the XML data to read.

Eccezioni

input è null.input is null.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Il XmlTextReader decodifica il flusso utilizzando System.Text.Encoding.The XmlTextReader decodes the stream using System.Text.Encoding.

Vedi anche

XmlTextReader(TextReader, XmlNameTable)

Inizializza una nuova istanza della classe XmlTextReader con gli oggetti TextReader e XmlNameTable specificati.Initializes a new instance of the XmlTextReader class with the specified TextReader and XmlNameTable.

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)

Parametri

input
TextReader

Oggetto TextReader che contiene i dati XML da leggere.The TextReader containing the XML data to read.

nt
XmlNameTable

Oggetto XmlNameTable da usare.The XmlNameTable to use.

Eccezioni

Il valore di nt è null.The nt value is null.

Commenti

Nota

A partire dalla .NET Framework 2,0, è consigliabile creare istanze di XmlReader usando il metodo XmlReader.Create per sfruttare le nuove funzionalità.Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

Si presuppone che il costruttore TextReader sia già impostato sulla codifica corretta.It is assumed that the TextReader is already set to the correct encoding. Viene usato dai client che hanno già letto alcuni elementi dal flusso in uno scenario MIME multiparte.This is used by clients that have already read some things from the stream in a multi-part MIME scenario.

Vedi anche

Si applica a