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

Initializes a new instance of the XmlParserContext class with the specified XmlNameTable, XmlNamespaceManager, base URI, xml:lang, xml:space, and document type values.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public XmlParserContext(
	XmlNameTable nt,
	XmlNamespaceManager nsMgr,
	string docTypeName,
	string pubId,
	string sysId,
	string internalSubset,
	string baseURI,
	string xmlLang,
	XmlSpace xmlSpace
)

Parameters

nt
Type: System.Xml.XmlNameTable

The XmlNameTable to use to atomize strings. If this is null, the name table used to construct the nsMgr is used instead. For more information about atomized strings, see XmlNameTable.

nsMgr
Type: System.Xml.XmlNamespaceManager

The XmlNamespaceManager to use for looking up namespace information, or null.

docTypeName
Type: System.String

The name of the document type declaration.

pubId
Type: System.String

The public identifier.

sysId
Type: System.String

The system identifier.

internalSubset
Type: System.String

The internal DTD subset. The DTD subset is used for entity resolution, not for document validation.

baseURI
Type: System.String

The base URI for the XML fragment (the location from which the fragment was loaded).

xmlLang
Type: System.String

The xml:lang scope.

xmlSpace
Type: System.Xml.XmlSpace

An XmlSpace value indicating the xml:space scope.

ExceptionCondition
XmlException

nt is not the same XmlNameTable used to construct nsMgr.

This constructor supplies all DocumentType information required by XmlValidatingReader. If this XmlParserContext is passed to an XmlTextReader, all DTD information is ignored.

If you pass a DTD as the internalSubset, the DTD is used for entity resolution, not for document validation.

The following example uses an XmlParserContext to read an XML fragment.

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

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft