XmlNamespaceManager Constructor (XmlNameTable)


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 XmlNamespaceManager class with the specified XmlNameTable.

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

public XmlNamespaceManager(
	XmlNameTable nameTable


Type: System.Xml.XmlNameTable

The XmlNameTable to use.

Exception Condition

null is passed to the constructor

The name table is used to look up prefixes and namespaces. An existing name table with pre-atomized strings can be specified in the constructor. There are several advantages in doing so. For example, if the name table of an XmlReader object is used, after each read, any namespace and prefix strings pushed into the name table can be re-used by XmlNamespaceManager.

For more information on atomized strings, see XmlNameTable.


If you specify an existing name table, any namespaces in the name table are not automatically added to XmlNamespaceManager. You must use AddNamespace and RemoveNamespace to add or remove namespaces.

The following example creates an XmlNamespaceManager using the name table of the reader.

XmlTextReader reader = new XmlTextReader("myfile.xml");
XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books");
nsmanager.AddNamespace("msstore", "www.microsoft.com/store");
while (reader.Read())
    Console.WriteLine("Reader Prefix:{0}", reader.Prefix);
    Console.WriteLine("XmlNamespaceManager Prefix:{0}",

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