GetXmlNamespace 演算子

更新 : 2007 年 11 月

指定した XML 名前空間プレフィックスに対応する XNamespace オブジェクトを取得します。

GetXmlNamespace(xmlNamespacePrefix)

指定項目

  • xmlNamespacePrefix
    省略可能です。XML 名前空間プレフィックスを示す文字列。指定する場合、この文字列は有効な XML 識別子である必要があります。詳細については、「宣言する XML 要素と属性の名前」を参照してください。プレフィックスを指定しないと、既定の名前空間が返されます。既定の名前空間が指定されていない場合は、空の名前空間が返されます。

戻り値

XML 名前空間プレフィックスに対応する XNamespace オブジェクト。

解説

GetXmlNamespace 演算子は、XML 名前空間プレフィックス xmlNamespacePrefix に対応する XNamespace オブジェクトを取得します。

XML 名前空間プレフィックスは、XML リテラルおよび XML 軸プロパティで直接使用できます。ただし、コードで使用する前に、GetXmlNamespace 演算子を使用して名前空間プレフィックスを XNamespace オブジェクトに変換する必要があります。非修飾要素名を XNamespace オブジェクトに追加することで、完全修飾された XName オブジェクトを取得できます。LINQ to XML の多くのメソッドでは、このオブジェクトが必要です。

使用例

次の例では、ns を XML 名前空間プレフィックスとしてインポートします。その後、この名前空間のプレフィックスを使用して XML リテラルを作成し、修飾名 ns:phone を持つ最初の子ノードにアクセスします。次に、この子ノードを ShowName サブルーチンに渡します。このサブルーチンは、GetXmlNamespace 演算子を使用して修飾名を作成します。その後、ShowName サブルーチンから Ancestors メソッドに修飾名を渡して、親の ns:contact ノードを取得します。

' Place Imports statements at the top of your program.  
Imports <xmlns:ns="http://SomeNamespace">

Module GetXmlNamespaceSample

    Sub RunSample()

        ' Create test by using a global XML namespace prefix. 

        Dim contact = _
            <ns:contact>
                <ns:name>Patrick Hines</ns:name>
                <ns:phone ns:type="home">206-555-0144</ns:phone>
                <ns:phone ns:type="work">425-555-0145</ns:phone>
            </ns:contact>

        ShowName(contact.<ns:phone>(0))
    End Sub

    Sub ShowName(ByVal phone As XElement)
        Dim qualifiedName = GetXmlNamespace(ns) + "contact"
        Dim contact = phone.Ancestors(qualifiedName)(0)
        Console.WriteLine("Name: " & contact.<ns:name>.Value)
    End Sub

End Module

TestGetXmlNamespace.RunSample() を呼び出すと、次のテキストを含むメッセージ ボックスが表示されます。

Name: Patrick Hines

参照

参照

Imports ステートメント (XML 名前空間)

その他の技術情報

Visual Basic での XML へのアクセス