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


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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


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.

Type: System.Xml.XmlNamespaceManager

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

Type: System.String

The name of the document type declaration.

Type: System.String

The public identifier.

Type: System.String

The system identifier.

Type: System.String

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

Type: System.String

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

Type: System.String

The xml:lang scope.

Type: System.Xml.XmlSpace

An XmlSpace value indicating the xml:space scope.

Exception Condition

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;

            //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.
            while (reader.MoveToNextAttribute())
                Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
            if (reader != null)
} // End class

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top