XmlNamespaceManager.AddNamespace Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Adds the given namespace to the collection.
Assembly: System.Xml (in System.Xml.dll)
Parameters
- prefix
- Type: System.String
The prefix to associate with the namespace being added. Use String.Empty to add a default namespace.
- uri
- Type: System.String
The namespace to add.
| Exception | Condition |
|---|---|
| ArgumentException | The value for prefix is "xml" or "xmlns". |
| ArgumentNullException | The value for prefix or uri is Nothing. |
XmlNamespaceManager does not check prefix and uri for conformance.
XmlReader checks names, including prefixes and namespaces, to ensure they are valid XML names according to the World Wide Web Consortium (W3C) specification. XmlNamespaceManager is used internally by XmlReader, so to avoid a duplication of efforts, XmlNamespaceManager assumes all prefixes and namespaces are valid.
If the prefix and namespace already exist within the current scope, the new prefix and namespace pair will replace the existing prefix/namespace combination. The same prefix and namespace combination can exist across different scopes.
The following prefix/namespace pairs are added by default to the XmlNamespaceManager. They can be determined at any scope.
Prefix | Namespace |
|---|---|
xmlns | http://www.w3.org/2000/xmlns/ (the xmlns prefix namespace) |
xml | http://www.w3.org/XML/1998/namespace (the XML namespace) |
String.Empty | String.Empty (the empty namespace). This value can be reassigned a different prefix. For example, xmlns="" defines the default namespace to be the empty namespace |
Dim output As New StringBuilder() Dim xmlFrag As String = _ "<root>" & _ "<data>" & _ "<items>" & _ "<item id='1'>" & _ "</item>" & _ "</items>" & _ "</data>" & _ "</root>" Using reader As XmlReader = XmlReader.Create(New StringReader(xmlFrag)) Dim nsmanager As New XmlNamespaceManager(reader.NameTable) nsmanager.AddNamespace("msbooks", "www.microsoft.com/books") nsmanager.PushScope() nsmanager.AddNamespace("msstore", "www.microsoft.com/store") Dim prefix As String For Each prefix In nsmanager output.AppendLine(("Prefix" + prefix + _ " Namespace=" + nsmanager.LookupNamespace(prefix))) Next prefix End Using OutputTextBlock.Text = output.ToString()