Freigeben über


XmlParserContext Konstruktoren

Definition

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten.

Überlädt

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten für XmlNameTable, XmlNamespaceManager, xml:lang und xml:space.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace, Encoding)

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten für XmlNameTable, XmlNamespaceManager, xml:lang, xml:space sowie Codierung.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace)

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten für XmlNameTable, XmlNamespaceManager, Basis-URI, xml:lang, xml:space und Dokumenttyp.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace, Encoding)

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten für XmlNameTable, XmlNamespaceManager, Basis-URI, xml:lang, xml:space, Codierung und Dokumenttyp.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten für XmlNameTable, XmlNamespaceManager, xml:lang und xml:space.

public:
 XmlParserContext(System::Xml::XmlNameTable ^ nt, System::Xml::XmlNamespaceManager ^ nsMgr, System::String ^ xmlLang, System::Xml::XmlSpace xmlSpace);
public XmlParserContext (System.Xml.XmlNameTable nt, System.Xml.XmlNamespaceManager nsMgr, string xmlLang, System.Xml.XmlSpace xmlSpace);
public XmlParserContext (System.Xml.XmlNameTable? nt, System.Xml.XmlNamespaceManager? nsMgr, string? xmlLang, System.Xml.XmlSpace xmlSpace);
new System.Xml.XmlParserContext : System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager * string * System.Xml.XmlSpace -> System.Xml.XmlParserContext
Public Sub New (nt As XmlNameTable, nsMgr As XmlNamespaceManager, xmlLang As String, xmlSpace As XmlSpace)

Parameter

nt
XmlNameTable

Die zum Atomisieren von Zeichenfolgen zu verwendende XmlNameTable. Wenn diese null ist, wird stattdessen die Namenstabelle zum Erstellen von nsMgr verwendet. Weitere Informationen zu atomisierten Zeichenfolgen finden Sie unter XmlNameTable.

nsMgr
XmlNamespaceManager

Der XmlNamespaceManager, der für die Suche nach Namespaceinformationen verwendet werden soll, oder null.

xmlLang
String

Durch den Bereich xml:lang.

xmlSpace
XmlSpace

Ein XmlSpace-Wert, der den xml:space-Bereich angibt.

Ausnahmen

Bei nt handelt es sich nicht um die gleiche XmlNameTable, die zum Erstellen von nsMgr verwendet wird.

Beispiele

Im folgenden Beispiel wird ein XML-Fragment gelesen. Es verwendet eine XmlParserContext und seine XmlNamespaceManager , um Namespaceabgleich zu behandeln.

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 (string.IsNullOrEmpty(reader.Prefix))
                    {
                        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
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
End Class

Gilt für

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace, Encoding)

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten für XmlNameTable, XmlNamespaceManager, xml:lang, xml:space sowie Codierung.

public:
 XmlParserContext(System::Xml::XmlNameTable ^ nt, System::Xml::XmlNamespaceManager ^ nsMgr, System::String ^ xmlLang, System::Xml::XmlSpace xmlSpace, System::Text::Encoding ^ enc);
public XmlParserContext (System.Xml.XmlNameTable nt, System.Xml.XmlNamespaceManager nsMgr, string xmlLang, System.Xml.XmlSpace xmlSpace, System.Text.Encoding enc);
public XmlParserContext (System.Xml.XmlNameTable? nt, System.Xml.XmlNamespaceManager? nsMgr, string? xmlLang, System.Xml.XmlSpace xmlSpace, System.Text.Encoding? enc);
new System.Xml.XmlParserContext : System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager * string * System.Xml.XmlSpace * System.Text.Encoding -> System.Xml.XmlParserContext
Public Sub New (nt As XmlNameTable, nsMgr As XmlNamespaceManager, xmlLang As String, xmlSpace As XmlSpace, enc As Encoding)

Parameter

nt
XmlNameTable

Die zum Atomisieren von Zeichenfolgen zu verwendende XmlNameTable. Wenn diese null ist, wird stattdessen die Namenstabelle zum Erstellen von nsMgr verwendet. Weitere Informationen zu atomisierten Zeichenfolgen finden Sie unter XmlNameTable.

nsMgr
XmlNamespaceManager

Der XmlNamespaceManager, der für die Suche nach Namespaceinformationen verwendet werden soll, oder null.

xmlLang
String

Durch den Bereich xml:lang.

xmlSpace
XmlSpace

Ein XmlSpace-Wert, der den xml:space-Bereich angibt.

enc
Encoding

Ein Encoding-Objekt, das die Codierungseinstellung angibt.

Ausnahmen

Bei nt handelt es sich nicht um die gleiche XmlNameTable, die zum Erstellen von nsMgr verwendet wird.

Gilt für

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace)

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten für XmlNameTable, XmlNamespaceManager, Basis-URI, xml:lang, xml:space und Dokumenttyp.

public:
 XmlParserContext(System::Xml::XmlNameTable ^ nt, System::Xml::XmlNamespaceManager ^ nsMgr, System::String ^ docTypeName, System::String ^ pubId, System::String ^ sysId, System::String ^ internalSubset, System::String ^ baseURI, System::String ^ xmlLang, System::Xml::XmlSpace xmlSpace);
public XmlParserContext (System.Xml.XmlNameTable nt, System.Xml.XmlNamespaceManager nsMgr, string docTypeName, string pubId, string sysId, string internalSubset, string baseURI, string xmlLang, System.Xml.XmlSpace xmlSpace);
public XmlParserContext (System.Xml.XmlNameTable? nt, System.Xml.XmlNamespaceManager? nsMgr, string? docTypeName, string? pubId, string? sysId, string? internalSubset, string? baseURI, string? xmlLang, System.Xml.XmlSpace xmlSpace);
new System.Xml.XmlParserContext : System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager * string * string * string * string * string * string * System.Xml.XmlSpace -> System.Xml.XmlParserContext
Public Sub New (nt As XmlNameTable, nsMgr As XmlNamespaceManager, docTypeName As String, pubId As String, sysId As String, internalSubset As String, baseURI As String, xmlLang As String, xmlSpace As XmlSpace)

Parameter

nt
XmlNameTable

Die zum Atomisieren von Zeichenfolgen zu verwendende XmlNameTable. Wenn diese null ist, wird stattdessen die Namenstabelle zum Erstellen von nsMgr verwendet. Weitere Informationen zu atomisierten Zeichenfolgen finden Sie unter XmlNameTable.

nsMgr
XmlNamespaceManager

Der XmlNamespaceManager, der für die Suche nach Namespaceinformationen verwendet werden soll, oder null.

docTypeName
String

Der Name der Dokumenttypdeklaration.

pubId
String

Der öffentliche Bezeichner.

sysId
String

Der Systembezeichner.

internalSubset
String

Die Teilmenge der internen DTD. Die DTD-Teilmenge wird für die Entitätsauflösung verwendet, nicht für die Dokumentvalidierung.

baseURI
String

Der Basis-URI für das XML-Fragment (der Speicherort, aus dem das Fragment geladen wurde).

xmlLang
String

Durch den Bereich xml:lang.

xmlSpace
XmlSpace

Ein XmlSpace-Wert, der den xml:space-Bereich angibt.

Ausnahmen

Bei nt handelt es sich nicht um die gleiche XmlNameTable, die zum Erstellen von nsMgr verwendet wird.

Beispiele

Im folgenden Beispiel wird ein XmlParserContext XML-Fragment gelesen.

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 genre='novel' misc='sale-item &h;'></book>";

            //Create the XmlParserContext. The XmlParserContext provides the
            //necessary DTD information so that the entity reference can be expanded.
            XmlParserContext context;
            string subset = "<!ENTITY h 'hardcover'>";
            context = new XmlParserContext(null, null, "book", null, null, subset, "", "", XmlSpace.None);

            //Create the reader.
            reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);

            //Read the all the attributes on the book element.
            reader.MoveToContent();
            while (reader.MoveToNextAttribute())
            {
                Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
            }
        }
        finally
        {
            if (reader != null)
                reader.Close();
        }
    }
} // End class
Option Explicit On
Option Strict On

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 genre='novel' misc='sale-item &h;'></book>"

            'Create the XmlParserContext. The XmlParserContext provides the 
            'necessary DTD information so that the entity reference can be expanded.
            Dim context As XmlParserContext
            Dim subset As String = "<!ENTITY h 'hardcover'>"
            context = New XmlParserContext(Nothing, Nothing, "book", Nothing, Nothing, subset, "", "", XmlSpace.None)

            'Create the reader. 
            reader = New XmlTextReader(xmlFrag, XmlNodeType.Element, context)

            'Read the all the attributes on the book element.
            reader.MoveToContent()
            While reader.MoveToNextAttribute()
                Console.WriteLine("{0} = {1}", reader.Name, reader.Value)
            End While
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

Hinweise

Dieser Konstruktor stellt alle informationen zur Verfügung, die DocumentType von XmlValidatingReader. Wenn dies XmlParserContext an eine XmlTextReader, alle DTD-Informationen übergeben wird, werden alle DTD-Informationen ignoriert.

Wenn Sie eine DTD als "DTD" übergeben, wird die DTD für die internalSubsetEntitätsauflösung verwendet, nicht für die Dokumentüberprüfung.

Gilt für

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace, Encoding)

Initialisiert eine neue Instanz der XmlParserContext-Klasse mit den angegebenen Werten für XmlNameTable, XmlNamespaceManager, Basis-URI, xml:lang, xml:space, Codierung und Dokumenttyp.

public:
 XmlParserContext(System::Xml::XmlNameTable ^ nt, System::Xml::XmlNamespaceManager ^ nsMgr, System::String ^ docTypeName, System::String ^ pubId, System::String ^ sysId, System::String ^ internalSubset, System::String ^ baseURI, System::String ^ xmlLang, System::Xml::XmlSpace xmlSpace, System::Text::Encoding ^ enc);
public XmlParserContext (System.Xml.XmlNameTable nt, System.Xml.XmlNamespaceManager nsMgr, string docTypeName, string pubId, string sysId, string internalSubset, string baseURI, string xmlLang, System.Xml.XmlSpace xmlSpace, System.Text.Encoding enc);
public XmlParserContext (System.Xml.XmlNameTable? nt, System.Xml.XmlNamespaceManager? nsMgr, string? docTypeName, string? pubId, string? sysId, string? internalSubset, string? baseURI, string? xmlLang, System.Xml.XmlSpace xmlSpace, System.Text.Encoding? enc);
new System.Xml.XmlParserContext : System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager * string * string * string * string * string * string * System.Xml.XmlSpace * System.Text.Encoding -> System.Xml.XmlParserContext
Public Sub New (nt As XmlNameTable, nsMgr As XmlNamespaceManager, docTypeName As String, pubId As String, sysId As String, internalSubset As String, baseURI As String, xmlLang As String, xmlSpace As XmlSpace, enc As Encoding)

Parameter

nt
XmlNameTable

Die zum Atomisieren von Zeichenfolgen zu verwendende XmlNameTable. Wenn diese null ist, wird stattdessen die Namenstabelle zum Erstellen von nsMgr verwendet. Weitere Informationen zu atomisierten Zeichenfolgen finden Sie unter XmlNameTable.

nsMgr
XmlNamespaceManager

Der XmlNamespaceManager, der für die Suche nach Namespaceinformationen verwendet werden soll, oder null.

docTypeName
String

Der Name der Dokumenttypdeklaration.

pubId
String

Der öffentliche Bezeichner.

sysId
String

Der Systembezeichner.

internalSubset
String

Die Teilmenge der internen DTD. Die DTD wird für die Entitätsauflösung verwendet, nicht für die Dokumentvalidierung.

baseURI
String

Der Basis-URI für das XML-Fragment (der Speicherort, aus dem das Fragment geladen wurde).

xmlLang
String

Durch den Bereich xml:lang.

xmlSpace
XmlSpace

Ein XmlSpace-Wert, der den xml:space-Bereich angibt.

enc
Encoding

Ein Encoding-Objekt, das die Codierungseinstellung angibt.

Ausnahmen

Bei nt handelt es sich nicht um die gleiche XmlNameTable, die zum Erstellen von nsMgr verwendet wird.

Gilt für