Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Initialisiert eine neue Instanz der XmlTextReader-Klasse mit der angegebenen Zeichenfolge, XmlNodeType und XmlParserContext.
Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)
Syntax
'Declaration
Public Sub New ( _
xmlFragment As String, _
fragType As XmlNodeType, _
context As XmlParserContext _
)
'Usage
Dim xmlFragment As String
Dim fragType As XmlNodeType
Dim context As XmlParserContext
Dim instance As New XmlTextReader(xmlFragment, fragType, context)
public XmlTextReader (
string xmlFragment,
XmlNodeType fragType,
XmlParserContext context
)
public:
XmlTextReader (
String^ xmlFragment,
XmlNodeType fragType,
XmlParserContext^ context
)
public XmlTextReader (
String xmlFragment,
XmlNodeType fragType,
XmlParserContext context
)
public function XmlTextReader (
xmlFragment : String,
fragType : XmlNodeType,
context : XmlParserContext
)
Parameter
- xmlFragment
Die Zeichenfolge, die das zu analysierende XML-Fragment enthält.
- fragType
Der XmlNodeType des XML-Fragments. Damit wird auch der mögliche Inhalt der Zeichenfolge mit dem Fragment bestimmt. (Siehe Tabelle unten.)
- context
Der XmlParserContext, in dem das xmlFragment analysiert werden soll. Dazu gehören die zu verwendende XmlNameTable, die Codierung, der Namespacebereich, der aktuellexml:langund der aktuellexml:space-Bereich.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
fragType ist kein Element, Attribute oder DocumentXmlNodeType. |
|
xmlFragment ist NULL (Nothing in Visual Basic). |
Hinweise
Hinweis
Die empfohlene Vorgehensweise für die Version Microsoft .NET Framework, Version 2.0 besteht darin, mithilfe der System.Xml.XmlReader.Create-Methode XmlReader-Instanzen zu erstellen. So können Sie die neuen Features dieser Version in vollem Umfang nutzen. Weitere Informationen finden Sie unter Erstellen von XML-Readern.
Dieser Konstruktor analysiert die angegebene Zeichenfolge als XML-Fragment. Wenn das XML-Fragment ein Element oder Attribut ist, können die Regeln auf Stammebene für wohlgeformte XML-Dokumente umgangen werden. Dieser Konstruktor kann Zeichenfolgen behandeln, die von ReadInnerXml zurückgegeben werden.
Die folgende Tabelle enthält eine Liste gültiger Werte für fragType sowie Informationen darüber, wie der Reader die einzelnen unterschiedlichen Knotentypen auswertet.
XmlNodeType |
Möglicher Inhalt des Fragments |
|---|---|
Element |
Jeder gültige Elementinhalt (z. B. eine beliebige Kombination aus Elementen, Kommentaren, Verarbeitungsanweisungen, CDATA-Abschnitten, Text und Entitätenverweisen). Eine XML-Deklaration kann ebenfalls angegeben werden. Dadurch können Sie die Codierung des XML-Fragments angeben und müssen es nicht auf das XmlParserContext-Objekt festlegen. |
Attribute |
Der Wert eines Attributs (der in Anführungszeichen eingeschlossene Teil). |
Document |
Der Inhalt eines vollständigen XML-Dokuments. Dies erzwingt die Regeln der Dokumentebene. |
Beispiel
Im folgenden Beispiel wird ein XML-Fragment analysiert. Für die Behandlung der Namespaceauflösung werden der XmlParserContext und sein XmlNamespaceManager verwendet.
Imports System
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
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
#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();
}
import System.*;
import System.IO.*;
import System.Xml.*;
public class Sample
{
public static void main(String[] args)
{
//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.get_Prefix().Equals(String.Empty)) {
Console.WriteLine("<{0}>", reader.get_LocalName());
}
else {
Console.Write("<{0}:{1}>", reader.get_Prefix(),
reader.get_LocalName());
Console.WriteLine(" The namespace URI is " +
reader.get_NamespaceURI());
}
}
}
//Close the reader.
reader.Close();
} //main
} //End class Sample
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
XmlTextReader-Klasse
XmlTextReader-Member
System.Xml-Namespace
XmlParserContext-Klasse