XAttribute.IsNamespaceDeclaration プロパティ

定義

現在の属性が名前空間宣言かどうかを判定します。

public:
 property bool IsNamespaceDeclaration { bool get(); };
public bool IsNamespaceDeclaration { get; }
member this.IsNamespaceDeclaration : bool
Public ReadOnly Property IsNamespaceDeclaration As 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属性が実際に名前空間宣言であるかどうかを判断できます。

適用対象

こちらもご覧ください