Export (0) Print
Expand All

XAttribute.IsNamespaceDeclaration Property

Determines if this attribute is a namespace declaration.

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

public bool IsNamespaceDeclaration { get; }

Property Value

Type: System.Boolean
true if this attribute is a namespace declaration; otherwise false.

Technically, in XML, namespace declarations are not attributes proper. However, this distinction is not normally made by most XML programmers. Instead, because namespace declarations have exactly the same syntax as attributes, most XML programmers think of namespaces as attributes. To simplify the LINQ to XML programming interface, namespaces are represented in the XML tree as attributes. You can use this property to determine if a particular LINQ to XML attribute is really a namespace declaration.

The following example creates an attribute that is a namespace declaration and an attribute that is not. It then uses this property to display whether each attribute is a namespace declaration or not.

XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root",
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),
    new XAttribute(aw + "Att", "content")
);

foreach (XAttribute att in root.Attributes()) {
    if (att.IsNamespaceDeclaration)
        Console.WriteLine("{0} is a namespace declaration", att.Name);
    else
        Console.WriteLine("{0} is not a namespace declaration", att.Name);
}

This example produces the following output:

{http://www.w3.org/2000/xmlns/}aw is a namespace declaration
{http://www.adventure-works.com}Att is not a namespace declaration

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft