Freigeben über


XmlTextReader Konstruktoren

Definition

Initialisiert eine neue Instanz des XmlTextReader.

Überlädt

XmlTextReader()

Initialisiert eine neue Instanz des XmlTextReader.

XmlTextReader(String, XmlNodeType, XmlParserContext)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen Zeichenfolge, dem XmlNodeType und dem XmlParserContext.

XmlTextReader(String, TextReader, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen URL, dem TextReader und der XmlNameTable.

XmlTextReader(String, Stream, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen URL, dem angegebenen Stream und der angegebenen XmlNameTable.

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit dem angegebenen Stream, XmlNodeType und XmlParserContext.

XmlTextReader(String, TextReader)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen URL und TextReader.

XmlTextReader(String, Stream)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen URL und dem angegebenen Stream.

XmlTextReader(String, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen Datei und XmlNameTable.

XmlTextReader(Stream, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit dem angegebenen Stream und XmlNameTable.

XmlTextReader(XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen XmlNameTable.

XmlTextReader(String)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen Datei.

XmlTextReader(TextReader)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen TextReader.

XmlTextReader(Stream)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit dem angegebenen Stream.

XmlTextReader(TextReader, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit den angegebenen TextReader und dem angegebenen XmlNameTable.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

XmlTextReader()

Initialisiert eine neue Instanz des XmlTextReader.

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

Siehe auch

Gilt für

XmlTextReader(String, XmlNodeType, XmlParserContext)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen Zeichenfolge, dem XmlNodeType und dem 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)

Parameter

xmlFragment
String

Die Zeichenfolge, die das zu analysierende XML-Fragment enthält.

fragType
XmlNodeType

Der XmlNodeType des XML-Fragments. Damit wird auch der mögliche Inhalt der Zeichenfolge mit dem Fragment bestimmt. (Siehe Tabelle unten.)

context
XmlParserContext

Der XmlParserContext, in dem das xmlFragment analysiert werden soll. Dazu gehören die zu verwendende XmlNameTable, die Codierung, der Namespacebereich, der aktuelle xml:lang- und der xml:space-Bereich.

Ausnahmen

fragType ist kein Element-, Attribute- oder Document-XmlNodeType.

xmlFragment ist null.

Beispiele

Im folgenden Beispiel wird ein XML-Fragment analysiert. Sie verwendet die XmlParserContext Namespaceauflösung und deren XmlNamespaceManager Verarbeitung der Namespaceauflösung.

#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

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Dieser Konstruktor analysiert die angegebene Zeichenfolge als Fragment von XML. Wenn das XML-Fragment ein Element oder Attribut ist, können Sie die Stammebenenregeln für gut formierte XML-Dokumente umgehen. Dieser Konstruktor kann Zeichenfolgen behandeln, die von ReadInnerXml.

In der folgenden Tabelle sind gültige Werte fragType aufgeführt und wie der Leser jede der verschiedenen Knotentypen analysiert.

XmlNodeType Fragment kann enthalten sein
Element Alle gültigen Elementinhalte (z. B. alle Kombinationen von Elementen, Kommentaren, Verarbeitungsanweisungen, CDATA-Abschnitten, Text- und Entitätsbezügen).

Es kann auch eine XML-Deklaration bereitgestellt werden. Dadurch können Sie die Codierung für das XML-Fragment angeben, anstatt sie auf dem XmlParserContext Objekt festzulegen.
attribute Der Wert eines Attributs (der Teil innerhalb der Anführungszeichen).
Dokument Der Inhalt eines vollständigen XML-Dokuments. Dies erzwingt Regeln auf Dokumentebene.

Siehe auch

Gilt für

XmlTextReader(String, TextReader, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen URL, dem TextReader und der 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)

Parameter

url
String

Die für die Auflösung externer Ressourcen zu verwendende URL. Der BaseURI wird auf diesen Wert festgelegt. Wennurlnull ist, wird BaseURI auf String.Empty festgelegt.

input
TextReader

Der TextReader, der die zu lesenden XML-Daten enthält.

nt
XmlNameTable

Der zu verwendende XmlNameTable.

Ausnahmen

Der nt-Wert ist null.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Hierbei wird vorausgesetzt, dass der TextReader bereits auf die korrekte Codierung eingestellt ist. Dies wird von Clients verwendet, die bereits einige Dinge aus dem Stream in einem mehrteiligen MIME-Szenario gelesen haben.

Siehe auch

Gilt für

XmlTextReader(String, Stream, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen URL, dem angegebenen Stream und der angegebenen 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)

Parameter

url
String

Die für die Auflösung externer Ressourcen zu verwendende URL. Der BaseURI wird auf diesen Wert festgelegt. Wennurlnull ist, wird BaseURI auf String.Empty festgelegt.

input
Stream

Der Stream, der die zu lesenden XML-Daten enthält.

nt
XmlNameTable

Der zu verwendende XmlNameTable.

Ausnahmen

Der input-Wert oder der nt-Wert ist null.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Siehe auch

Gilt für

XmlTextReader(Stream, XmlNodeType, XmlParserContext)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit dem angegebenen Stream, XmlNodeType und 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)

Parameter

xmlFragment
Stream

Der Stream, der das zu analysierende XML-Fragment enthält.

fragType
XmlNodeType

Der XmlNodeType des XML-Fragments. Damit wird auch der mögliche Inhalt des Fragments bestimmt. (Siehe Tabelle unten.)

context
XmlParserContext

Der XmlParserContext, in dem das xmlFragment analysiert werden soll. Dazu gehören die zu verwendende XmlNameTable, die Codierung, der Namespacebereich, der aktuelle xml:lang- und der xml:space-Bereich.

Ausnahmen

fragType ist kein Element-, Attribut- oder Dokument-XmlNodeType.

xmlFragment ist null.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Dieser Konstruktor analysiert die angegebene Zeichenfolge als Fragment von XML. Wenn das XML-Fragment ein Element oder Attribut ist, können Sie die Stammebenenregeln für gut formierte XML-Dokumente umgehen.

In der folgenden Tabelle sind gültige Werte für fragType.

XmlNodeType Fragment kann enthalten sein
Element Alle gültigen Elementinhalte (z. B. alle Kombinationen von Elementen, Kommentaren, Verarbeitungsanweisungen, CDATA-Abschnitten, Text- und Entitätsbezügen).

Es kann auch eine XML-Deklaration bereitgestellt werden. Dadurch können Sie die Codierung für das XML-Fragment angeben, anstatt sie auf dem XmlParserContext Objekt festzulegen.
Attribute Der Wert eines Attributs (der Teil innerhalb der Anführungszeichen).
Document Der Inhalt eines vollständigen XML-Dokuments. Dies erzwingt Regeln auf Dokumentebene.

Der Leser verwendet folgendes, um die Codierung des Datenstroms zu bestimmen.

  1. Überprüft die Eigenschaft, um die XmlParserContext.Encoding Codierung zu bestimmen.

  2. Wenn die Encoding Eigenschaft lautet null, sucht der Leser am Anfang des Datenstroms nach einer Bytereihenfolge.

  3. Wenn die Eigenschaft vorhanden ist nullund keine Bytereihenfolge gefunden wird, wird der Encoding Lesestrom in UTF-8 codiert.

Siehe auch

Gilt für

XmlTextReader(String, TextReader)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen URL und 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)

Parameter

url
String

Die für die Auflösung externer Ressourcen zu verwendende URL. Der BaseURI wird auf diesen Wert festgelegt.

input
TextReader

Der TextReader, der die zu lesenden XML-Daten enthält.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Hierbei wird vorausgesetzt, dass der TextReader bereits auf die korrekte Codierung eingestellt ist. Dies wird von Clients verwendet, die bereits einige Dinge aus dem Stream in einem mehrteiligen MIME-Szenario gelesen haben.

Siehe auch

Gilt für

XmlTextReader(String, Stream)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen URL und dem angegebenen 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)

Parameter

url
String

Die für die Auflösung externer Ressourcen zu verwendende URL. Der BaseURI wird auf diesen Wert festgelegt.

input
Stream

Der Stream, der die zu lesenden XML-Daten enthält.

Ausnahmen

input ist null.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Siehe auch

Gilt für

XmlTextReader(String, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen Datei und 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)

Parameter

url
String

Die URL der Datei, die die zu lesenden XML-Daten enthält.

nt
XmlNameTable

Der zu verwendende XmlNameTable.

Ausnahmen

Der nt-Wert ist null.

Die angegebene Datei kann nicht gefunden werden.

Ein Teil des Dateinamens oder Verzeichnisses kann nicht gefunden werden.

url ist eine leere Zeichenfolge.

Der Remotedateiname kann nicht aufgelöst werden.

- oder -

Bei der Verarbeitung der Anforderung ist ein Fehler aufgetreten.

url ist kein gültiger URI.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Siehe auch

Gilt für

XmlTextReader(Stream, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit dem angegebenen Stream und 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)

Parameter

input
Stream

Der Stream, der die zu lesenden XML-Daten enthält.

nt
XmlNameTable

Der zu verwendende XmlNameTable.

Ausnahmen

Der input-Wert oder der nt-Wert ist null.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Der XmlTextReader Datenstrom wird mithilfe System.Text.Encodingdes Datenstroms dekodiert.

Wenn Sie eine Namenstabelle angeben, verwendet dieser Konstruktor die bereits in dieser Tabelle definierten Namen.

Siehe auch

Gilt für

XmlTextReader(XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen 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)

Parameter

nt
XmlNameTable

Der zu verwendende XmlNameTable.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Siehe auch

Gilt für

XmlTextReader(String)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen Datei.

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

Parameter

url
String

Der URL der Datei, die die XML-Daten enthält. Der BaseURI wird auf diesen Wert festgelegt.

Ausnahmen

Die angegebene Datei kann nicht gefunden werden.

Ein Teil des Dateinamens oder Verzeichnisses kann nicht gefunden werden.

url ist eine leere Zeichenfolge.

Der Remotedateiname kann nicht aufgelöst werden.

- oder -

Bei der Verarbeitung der Anforderung ist ein Fehler aufgetreten.

url ist kein gültiger URI.

Beispiele

Im folgenden Beispiel wird eine XML-Datei gelesen und jede der Knoten angezeigt.

#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

Im Beispiel wird die Datei als items.xmlEingabe verwendet.


<?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>

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Wenn sich die Datei in einer Ressource befindet, die Zugriffsanmeldeinformationen erfordert, verwenden Sie die XmlResolver Eigenschaft, um die erforderlichen Anmeldeinformationen anzugeben.

Hinweis

In Version 1.1 des .NET Framework kann teilweise vertrauenswürdiger Code die XmlResolver Eigenschaft nicht festlegen. Die Problemumgehung besteht darin, eine XmlUrlResolver mit den erforderlichen Anmeldeinformationen zu erstellen, den URI an die XmlUrlResolver.GetEntity Methode zu übergeben und dann das XmlTextReader resultierende Stream Objekt zu erstellen. Die Problemumgehung wird im folgenden C#-Code beschrieben.

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

Siehe auch

Gilt für

XmlTextReader(TextReader)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen 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)

Parameter

input
TextReader

Der TextReader, der die zu lesenden XML-Daten enthält.

Beispiele

Im folgenden Beispiel wird eine XML-Zeichenfolge mithilfe der StringReader Klasse in das XmlTextReader Objekt geladen.

#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

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Hierbei wird vorausgesetzt, dass der TextReader bereits auf die korrekte Codierung eingestellt ist. Dies wird von Clients verwendet, die bereits einige Dinge aus dem Datenstrom in einem mehrteiligen MIME-Szenario gelesen haben.

Siehe auch

Gilt für

XmlTextReader(Stream)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit dem angegebenen 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)

Parameter

input
Stream

Der Stream, der die zu lesenden XML-Daten enthält.

Ausnahmen

input ist null.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Der XmlTextReader Datenstrom wird mithilfe System.Text.Encodingdes Datenstroms dekodiert.

Siehe auch

Gilt für

XmlTextReader(TextReader, XmlNameTable)

Initialisiert eine neue Instanz der XmlTextReader-Klasse mit den angegebenen TextReader und dem angegebenen 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)

Parameter

input
TextReader

Der TextReader, der die zu lesenden XML-Daten enthält.

nt
XmlNameTable

Der zu verwendende XmlNameTable.

Ausnahmen

Der nt-Wert ist null.

Hinweise

Hinweis

Ab dem .NET Framework 2.0 empfehlen wir, Instanzen mithilfe der XmlReader.Create Methode zu erstellenXmlReader, um neue Funktionen zu nutzen.

Hierbei wird vorausgesetzt, dass der TextReader bereits auf die korrekte Codierung eingestellt ist. Dies wird von Clients verwendet, die bereits einige Dinge aus dem Datenstrom in einem mehrteiligen MIME-Szenario gelesen haben.

Siehe auch

Gilt für