XmlParserContext 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用指定的值,初始化 XmlParserContext
類別的新執行個體。
多載
XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace) |
使用指定的 XmlNameTable、XmlNamespaceManager、 |
XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace, Encoding) |
使用指定的 XmlNameTable、XmlNamespaceManager、 |
XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace) |
使用指定的 XmlNameTable、XmlNamespaceManager、基底 URI、 |
XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace, Encoding) |
使用指定的 XmlNameTable、XmlNamespaceManager、基底 URI、 |
XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)
使用指定的 XmlNameTable、XmlNamespaceManager、xml:lang
和 xml: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
範圍。
例外狀況
nt
與用來建構 nsMgr
的 XmlNameTable
不是同一個。
範例
下列範例會讀取 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)
使用指定的 XmlNameTable、XmlNamespaceManager、xml:lang
、xml: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
範圍。
例外狀況
nt
與用來建構 nsMgr
的 XmlNameTable
不是同一個。
適用於
XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace)
使用指定的 XmlNameTable、XmlNamespaceManager、基底 URI、xml:lang
、xml: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
範圍。
例外狀況
nt
與用來建構 nsMgr
的 XmlNameTable
不是同一個。
範例
下列範例會使用 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)
使用指定的 XmlNameTable、XmlNamespaceManager、基底 URI、xml:lang
、xml: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
範圍。
例外狀況
nt
與用來建構 nsMgr
的 XmlNameTable
不是同一個。