XmlTextReader Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz des XmlTextReader.
Überlädt
XmlTextReader() |
Initialisiert eine neue Instanz des |
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. Wennurl
null
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. Wennurl
null
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.
Überprüft die Eigenschaft, um die XmlParserContext.Encoding Codierung zu bestimmen.
Wenn die
Encoding
Eigenschaft lautetnull
, sucht der Leser am Anfang des Datenstroms nach einer Bytereihenfolge.Wenn die Eigenschaft vorhanden ist
null
und keine Bytereihenfolge gefunden wird, wird derEncoding
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.xml
Eingabe 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.