GetXmlNamespace 演算子 (Visual Basic)

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

GetXmlNamespace(xmlNamespacePrefix)

指定項目

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

戻り値

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 へのアクセス