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 属性が実際に名前空間宣言であるかどうかを判断できます。

適用対象

こちらもご覧ください