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 片段。 它使用 a 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 传递,则 DTD internalSubset
用于实体解析,而不是用于文档验证。
适用于
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
不同。