XAttribute.IsNamespaceDeclaration Właściwość

Definicja

Określa, czy ten atrybut jest deklaracją przestrzeni nazw.

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

Wartość właściwości

true jeśli ten atrybut jest deklaracją przestrzeni nazw; w przeciwnym razie false.

Przykłady

Poniższy przykład tworzy atrybut, który jest deklaracją przestrzeni nazw i atrybutem, który nie jest. Następnie używa tej właściwości do wyświetlania, czy każdy atrybut jest deklaracją przestrzeni nazw, czy nie.

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  

Ten przykład generuje następujące wyniki:

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

Uwagi

Technicznie w języku XML deklaracje przestrzeni nazw nie są właściwymi atrybutami. Jednak to rozróżnienie nie jest zwykle dokonywane przez większości programistów XML. Zamiast tego, ponieważ deklaracje przestrzeni nazw mają dokładnie taką samą składnię jak atrybuty, większość programistów XML uważa przestrzenie nazw za atrybuty. Aby uprościć interfejs programowania LINQ to XML, przestrzenie nazw są reprezentowane w drzewie XML jako atrybuty. Tej właściwości można użyć do określenia, czy określony atrybut LINQ to XML jest naprawdę deklaracją przestrzeni nazw.

Dotyczy

Zobacz też