共用方式為


XmlParserContext 建構函式

定義

使用指定的值,初始化 XmlParserContext 類別的新執行個體。

多載

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)

使用指定的 XmlNameTableXmlNamespaceManagerxml:langxml:space 的值,初始化 XmlParserContext 類別的新執行個體。

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

使用指定的 XmlNameTableXmlNamespaceManagerxml:langxml:space 和編碼方式,初始化 XmlParserContext 類別的新執行個體。

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

使用指定的 XmlNameTableXmlNamespaceManager、基底 URI、xml:langxml:space 和文件類型的值,初始化 XmlParserContext 類別的新執行個體。

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

使用指定的 XmlNameTableXmlNamespaceManager、基底 URI、xml:langxml:space、編碼方式和文件類型的值,初始化 XmlParserContext 類別的新執行個體。

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)

使用指定的 XmlNameTableXmlNamespaceManagerxml:langxml:space 的值,初始化 XmlParserContext 類別的新執行個體。

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)

參數

nt
XmlNameTable

用來儘量縮減字串的 XmlNameTable。 如果這是 null,則改用用來建構 nsMgr 的名稱資料表。 如需已儘量縮減之字串的詳細資訊,請參閱 XmlNameTable

nsMgr
XmlNamespaceManager

用來查詢命名空間資訊的 XmlNamespaceManager,或是 null

xmlLang
String

xml:lang 範圍。

xmlSpace
XmlSpace

XmlSpace 值,指出 xml:space 的範圍。

例外狀況

nt 與用來建構 nsMgrXmlNameTable 不是同一個。

範例

下列範例會讀取 XML 片段。 它會使用 XmlParserContext 及其 XmlNamespaceManager 來處理命名空間比對。

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

適用於

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

使用指定的 XmlNameTableXmlNamespaceManagerxml:langxml:space 和編碼方式,初始化 XmlParserContext 類別的新執行個體。

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)

參數

nt
XmlNameTable

用來儘量縮減字串的 XmlNameTable。 如果這是 null,則改用用來建構 nsMgr 的名稱資料表。 如需已儘量縮減之字串的詳細資訊,請參閱 XmlNameTable

nsMgr
XmlNamespaceManager

用來查詢命名空間資訊的 XmlNamespaceManager,或是 null

xmlLang
String

xml:lang 範圍。

xmlSpace
XmlSpace

XmlSpace 值,指出 xml:space 的範圍。

enc
Encoding

指出編碼設定的 Encoding 物件。

例外狀況

nt 與用來建構 nsMgrXmlNameTable 不是同一個。

適用於

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

使用指定的 XmlNameTableXmlNamespaceManager、基底 URI、xml:langxml:space 和文件類型的值,初始化 XmlParserContext 類別的新執行個體。

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)

參數

nt
XmlNameTable

用來儘量縮減字串的 XmlNameTable。 如果這是 null,則改用用來建構 nsMgr 的名稱資料表。 如需已儘量縮減之字串的詳細資訊,請參閱 XmlNameTable

nsMgr
XmlNamespaceManager

用來查詢命名空間資訊的 XmlNamespaceManager,或是 null

docTypeName
String

文件類型宣告的名稱。

pubId
String

公用識別碼。

sysId
String

系統識別碼。

internalSubset
String

內部 DTD 子集。 DTD 子集是用於實體解析,而非用於文件驗證。

baseURI
String

XML 片段的基底 URI (載入片段的來源位置)。

xmlLang
String

xml:lang 範圍。

xmlSpace
XmlSpace

XmlSpace 值,指出 xml:space 的範圍。

例外狀況

nt 與用來建構 nsMgrXmlNameTable 不是同一個。

範例

下列範例會使用 XmlParserContext 來讀取 XML 片段。

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

備註

這個建構函式會提供 所需的 XmlValidatingReader 所有 DocumentType 資訊。 如果這會 XmlParserContext 傳遞至 XmlTextReader ,則會忽略所有 DTD 資訊。

如果您傳遞 DTD 做為 internalSubset ,則 DTD 會用於實體解析,而不是用於檔驗證。

適用於

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

使用指定的 XmlNameTableXmlNamespaceManager、基底 URI、xml:langxml:space、編碼方式和文件類型的值,初始化 XmlParserContext 類別的新執行個體。

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)

參數

nt
XmlNameTable

用來儘量縮減字串的 XmlNameTable。 如果這是 null,則改用用來建構 nsMgr 的名稱資料表。 如需已儘量縮減之字串的詳細資訊,請參閱 XmlNameTable

nsMgr
XmlNamespaceManager

用來查詢命名空間資訊的 XmlNamespaceManager,或是 null

docTypeName
String

文件類型宣告的名稱。

pubId
String

公用識別碼。

sysId
String

系統識別碼。

internalSubset
String

內部 DTD 子集。 DTD 用於實體解析,而非用於文件驗證。

baseURI
String

XML 片段的基底 URI (載入片段的來源位置)。

xmlLang
String

xml:lang 範圍。

xmlSpace
XmlSpace

XmlSpace 值,指出 xml:space 的範圍。

enc
Encoding

指出編碼設定的 Encoding 物件。

例外狀況

nt 與用來建構 nsMgrXmlNameTable 不是同一個。

適用於