XmlParserContext Конструкторы

Определение

Инициализирует новый экземпляр класса XmlParserContext с использованием указанных значений.

Перегрузки

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)

Инициализирует новый экземпляр класса XmlParserContext с помощью заданных значений XmlNameTable, XmlNamespaceManager, xml:lang и xml:space.

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

Инициализирует новый экземпляр класса XmlParserContext с помощью указанных значений XmlNameTable, XmlNamespaceManager, xml:lang, xml:space и кодировки.

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

Инициализирует новый экземпляр класса XmlParserContext с помощью указанных значений XmlNameTable, XmlNamespaceManager, базового URI, xml:lang, xml:space и значений типов документов.

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

Инициализирует новый экземпляр класса XmlParserContext с помощью указанных значений XmlNameTable, XmlNamespaceManager, базового URI, xml:lang, xml:space, кодировки и значений типов документов.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)

Инициализирует новый экземпляр класса XmlParserContext с помощью заданных значений XmlNameTable, XmlNamespaceManager, xml:lang и 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)

Параметры

nt
XmlNameTable

Класс XmlNameTable, используемый для атомизации строк. Если значение параметра равно null, вместо этого класса используется таблица имен, которая служит для создания nsMgr. Дополнительные сведения об атомизированных строках см. в разделе XmlNameTable.

nsMgr
XmlNamespaceManager

Класс XmlNamespaceManager, используемый для поиска сведений о пространстве имен, или значение null.

xmlLang
String

Область xml:lang.

xmlSpace
XmlSpace

Значение XmlSpace, указывающее область xml:space.

Исключения

Параметр nt отличается от таблицы XmlNameTable, используемой для создания объекта nsMgr.

Примеры

В следующем примере считывается фрагмент 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)

Инициализирует новый экземпляр класса XmlParserContext с помощью указанных значений XmlNameTable, XmlNamespaceManager, xml:lang, xml:space и кодировки.

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 отличается от таблицы XmlNameTable, используемой для создания объекта nsMgr.

Применяется к

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

Инициализирует новый экземпляр класса XmlParserContext с помощью указанных значений XmlNameTable, XmlNamespaceManager, базового URI, xml:lang, xml:space и значений типов документов.

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

Базовый URI для фрагмента XML (размещение, из которого был загружен фрагмент).

xmlLang
String

Область xml:lang.

xmlSpace
XmlSpace

Значение XmlSpace, указывающее область xml:space.

Исключения

Параметр nt отличается от таблицы XmlNameTable, используемой для создания объекта nsMgr.

Примеры

В следующем примере используется 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

Комментарии

Этот конструктор предоставляет все DocumentType сведения, необходимые для XmlValidatingReader. Если этот XmlParserContext параметр передается XmlTextReader, все сведения DTD игнорируются.

При передаче DTD в качестве internalSubsetDTD DTD используется для разрешения сущностей, а не для проверки документов.

Применяется к

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

Инициализирует новый экземпляр класса XmlParserContext с помощью указанных значений XmlNameTable, XmlNamespaceManager, базового URI, xml:lang, xml:space, кодировки и значений типов документов.

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

Базовый URI для фрагмента XML (размещение, из которого был загружен фрагмент).

xmlLang
String

Область xml:lang.

xmlSpace
XmlSpace

Значение XmlSpace, указывающее область xml:space.

enc
Encoding

Объект Encoding, указывающий параметр кодировки.

Исключения

Параметр nt отличается от таблицы XmlNameTable, используемой для создания объекта nsMgr.

Применяется к