XAttribute.IsNamespaceDeclaration 属性

定义

确定此属性是否为命名空间声明。

public:
 property bool IsNamespaceDeclaration { bool get(); };
public bool IsNamespaceDeclaration { get; }
member this.IsNamespaceDeclaration : bool
Public ReadOnly Property IsNamespaceDeclaration As Boolean

属性值

Boolean

如果此属性为命名空间声明,则为 true;否则为 false

示例

以下示例创建一个属性,该属性是命名空间声明,也是非命名空间声明的属性。 然后,它使用此属性来显示每个属性是否为命名空间声明。

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);  
}  
Dim root As XElement = <aw:Root xmlns:aw='http://www.adventure-works.com'  
                           aw:Att='content'/>  

For Each att As XAttribute In root.Attributes()  
    If (att.IsNamespaceDeclaration) Then  
        Console.WriteLine("{0} is a namespace declaration", att.Name)  
    Else  
        Console.WriteLine("{0} is not a namespace declaration", att.Name)  
    End If  
Next  

该示例产生下面的输出:

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

注解

从技术上说,在 XML 中,命名空间声明不是正确的属性。 但是,大多数 XML 程序员通常不会进行这种区分。 相反,由于命名空间声明与属性完全相同,因此大多数 XML 程序员将命名空间视为属性。 为了简化LINQ to XML编程接口,命名空间在 XML 树中表示为属性。 可以使用此属性来确定特定LINQ to XML属性是否确实是命名空间声明。

适用于

另请参阅