次の方法で共有


GetXmlNamespace 演算子 (Visual Basic)

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

構文

GetXmlNamespace(xmlNamespacePrefix)

指定項目

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

戻り値

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

Remarks

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

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

次の例では、名前空間プレフィックスとして ns をインポートしています。 その後、この名前空間のプレフィックスを使用して 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

関連項目