XElement.GetDefaultNamespace Method


Gets the default XNamespace of this XElement.

 System::Xml::Linq::XNamespace ^ GetDefaultNamespace();
public System.Xml.Linq.XNamespace GetDefaultNamespace ();
member this.GetDefaultNamespace : unit -> System.Xml.Linq.XNamespace
Public Function GetDefaultNamespace () As XNamespace



An XNamespace that contains the default namespace of this XElement.


The following example creates an XML tree that has a default namespace. It then uses this method to retrieve the default namespace.

String xml = "<root xmlns='http://www.adventure-works.com'/>";  
XElement e = XElement.Parse(xml);  
Console.WriteLine("Default namespace: {0}", e.GetDefaultNamespace());  
Imports <xmlns="http://www.adventure-works.com">  

Module Module1  
    Sub Main()  
        Dim e As XElement = <root/>  
        Console.WriteLine("Default namespace: {0}", e.GetDefaultNamespace())  
    End Sub  
End Module  

This example produces the following output:

Default namespace: http://www.adventure-works.com  


Namespace declarations may be persisted as attributes in the XML tree. These special attributes declare namespaces, including default namespaces. This method finds the namespace declaration that declares the default namespace, if there is one, and returns the XNamespace for the default namespace.

If there is no attribute that declares the default namespace, then this method returns XNamespace.None.

When creating XML trees using C#, even if an XML tree would be serialized with a default namespace, if the namespace is not persisted in the XML tree as an attribute, this method will not report the namespace as the default namespace.

When creating XML trees using Visual Basic and XML literals, if you create the XML in a default namespace using the Imports statement, then a namespace attribute will be created in the tree by the Visual Basic compiler, and this method will report that namespace.

Applies to

See also