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 XmlValidatingReader-Klasse mit den angegebenen Werten.
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 XmlValidatingReader(xmlFragment, fragType, context)
public XmlValidatingReader (
string xmlFragment,
XmlNodeType fragType,
XmlParserContext context
)
public:
XmlValidatingReader (
String^ xmlFragment,
XmlNodeType fragType,
XmlParserContext^ context
)
public XmlValidatingReader (
String xmlFragment,
XmlNodeType fragType,
XmlParserContext context
)
public function XmlValidatingReader (
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 XML-Fragment analysiert werden soll. Dazu gehören die zu verwendende NameTable, die Codierung, der Namespacebereich, der aktuelle xml:lang-Bereich und der aktuelle xml:space-Bereich.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
fragType ist keiner der in der folgenden Tabelle aufgeführten Knotentypen. |
Hinweise
Hinweis
Die XmlValidatingReader-Klasse ist in Microsoft .NET Framework, Version 2.0 veraltet. Sie können eine Instanz eines validierenden XmlReader mithilfe der XmlReaderSettings-Klasse und der Create-Methode erstellen. Weitere Informationen finden Sie unter Validieren von XML-Daten mit "XmlReader".
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ätsverweisen). |
Attribute |
Der Wert eines Attributs (der in Anführungszeichen eingeschlossene Teil). |
Document |
Der Inhalt eines vollständigen XML-Dokuments. Dies erzwingt Regeln auf Dokumentebene. |
Wenn dieser Reader die Validierung mit einer DTD (Dokumenttypedefinition) vornimmt (d. h., ValidationType ist auf ValidationType.DTD oder ValidationType.Auto festgelegt), muss der im Konstruktor angegebene XmlParserContext alle erforderlichen DocumentType-Informationen bereitstellen.
Hinweis
Fragmente können nicht mithilfe einer DTD validiert werden. Per Definition erfordert die Validierung mit einer DTD, dass ein vollständiges Dokument geladen ist.
Wenn dieser Reader die Validierung mithilfe von XDR (XML-Data Reduced)-Schemas oder XSD (XML Schema Definition Language)-Schemas durchführt, geben Sie unter Verwendung der Schemas-Eigenschaft die XmlSchemaCollection an, die die Schemas enthält. Das Bereitstellen von DocumentType-Informationen durch den XmlParserContext ist also nicht erforderlich.
Beispiel
Im folgenden Beispiel wird ein XML-Fragment gelesen. Für die Behandlung des Namespaceabgleichs werden ein XmlParserContext und dessen XmlNamespaceManager verwendet.
Imports System
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim reader As XmlTextReader = Nothing
Try
'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 that is used to
'look up namespace information.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
nsmgr.AddNamespace("bk", "urn:sample")
'Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)
'Implement the reader.
reader = New XmlTextReader(xmlFrag, XmlNodeType.Element, context)
'Parse the XML fragment. If they exist, display the
'prefix and namespace URI of each element.
While reader.Read()
If reader.IsStartElement() Then
If reader.Prefix = String.Empty Then
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
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub 'Main
End Class 'Sample
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlTextReader reader = null;
try
{
//Create the XML fragment to be parsed.
string xmlFrag = "<book> " +
"<title>Pride And Prejudice</title>" +
"<bk:genre>novel</bk:genre>" +
"</book>";
//Create the XmlNamespaceManager that is used to
//look up namespace information.
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);
//Implement the reader.
reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);
//Parse the XML fragment. 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);
}
}
}
}
finally
{
if (reader != null)
reader.Close();
}
}
} // End class
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, 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
Siehe auch
Referenz
XmlValidatingReader-Klasse
XmlValidatingReader-Member
System.Xml-Namespace