XElement.GetDefaultNamespace メソッド


この XElement の既定の XNamespace を取得します。Gets the default XNamespace of this XElement.

 System::Xml::Linq::XNamespace ^ GetDefaultNamespace();
public System.Xml.Linq.XNamespace GetDefaultNamespace ();
member this.GetDefaultNamespace : unit -> System.Xml.Linq.XNamespace
Public Function GetDefaultNamespace () As XNamespace


この XElement の既定の名前空間を格納している XNamespaceAn XNamespace that contains the default namespace of this XElement.

次の例では、既定の名前空間を持つ XML ツリーを作成します。The following example creates an XML tree that has a default namespace. 次に、このメソッドを使用して、既定の名前空間を取得します。It then uses this method to retrieve the default namespace.

String xml = "<root xmlns='http://www.adventure-works.com'/>";  
XElement e = XElement.Parse(xml);  
Console.WriteLine("Default namespace: {0}", e.GetDefaultNamespace());  
Imports <xmlns="http://www.adventure-works.com">  
Module Module1  
    Sub Main()  
        Dim e As XElement = <root/>  
        Console.WriteLine("Default namespace: {0}", e.GetDefaultNamespace())  
    End Sub  
End Module  

この例を実行すると、次の出力が生成されます。This example produces the following output:

Default namespace: http://www.adventure-works.com  


名前空間宣言は、XML ツリー内の属性として永続化できます。Namespace declarations may be persisted as attributes in the XML tree. これらの特殊な属性は、既定の名前空間を含む名前空間を宣言します。These special attributes declare namespaces, including default namespaces. このメソッドは、既定の名前空間 (存在する場合) を宣言する名前空間宣言を検索し、既定の名前空間の XNamespace を返します。This method finds the namespace declaration that declares the default namespace, if there is one, and returns the XNamespace for the default namespace.

既定の名前空間を宣言する属性がない場合、このメソッドは XNamespace.None を返します。If there is no attribute that declares the default namespace, then this method returns XNamespace.None.

を使用してC#xml ツリーを作成するときに、既定の名前空間で xml ツリーをシリアル化する場合でも、名前空間が属性として xml ツリーに保持されていない場合、このメソッドは名前空間を既定の名前空間として報告しません。When creating XML trees using C#, even if an XML tree would be serialized with a default namespace, if the namespace is not persisted in the XML tree as an attribute, this method will not report the namespace as the default namespace.

Visual Basic と XML リテラルを使用して XML ツリーを作成する場合、Imports ステートメントを使用して既定の名前空間に XML を作成すると、Visual Basic コンパイラによって名前空間属性がツリー内に作成され、このメソッドによってその名前空間がレポートされます。When creating XML trees using Visual Basic and XML literals, if you create the XML in a default namespace using the Imports statement, then a namespace attribute will be created in the tree by the Visual Basic compiler, and this method will report that namespace.