Share via


方法: XML リテラルに式を埋め込む (Visual Basic)

XML リテラルと埋め込み式を組み合わせて、実行時に作成される内容を含む XML ドキュメント、フラグメント、または要素を作成できます。 次の例では、埋め込み式を使用して、実行時に要素の内容、属性、および要素名を設定する方法を示します。

埋め込み式の構文は <%=exp%> となります。これは ASP.NET で使用される構文と同じです。 詳細については、「XML での埋め込み式」を参照してください。

LINQ to XML API を使用して LINQ to XML オブジェクトを作成することもできます。 詳細については、「XElement」を参照してください。

プロシージャ

要素の内容としてテキストを挿入するには

  • 次の例は、名前の開始要素と終了要素の間に contactName 変数に含まれるテキストを挿入する方法を示しています。

    Dim contactName As String = "Patrick Hines"
    Dim contact As XElement = 
      <contact>
        <name><%= contactName %></name>
      </contact>
    Console.WriteLine(contact)
    

    この例を実行すると、次の出力が生成されます。

    <contact>
      <name>Patrick Hines</name>
    </contact>
    

属性値としてテキストを挿入するには

  • 次の例は、phoneType 変数に含まれるテキストを type 属性の値として挿入する方法を示しています。

    Dim phoneType As String = "home"
    Dim contact2 As XElement = 
      <contact>
        <phone type=<%= phoneType %>>206-555-0144</phone>
      </contact>
    Console.WriteLine(contact2)
    

    この例を実行すると、次の出力が生成されます。

    <contact>
      <phone type="home">206-555-0144</phone>
    </contact>
    

要素名のテキストを挿入するには

  • 次の例は、elementName 変数に含まれるテキストを要素の名前として挿入する方法を示しています。

    この手法を使用して要素を作成する場合は、</> タグで終了する必要があります。

    Dim elementName As String = "contact"
    Dim contact3 As XElement = 
        <<%= elementName %>>
            <name>Patrick Hines</name>
        </>
    Console.WriteLine(contact3)
    

    この例を実行すると、次の出力が生成されます。

    <contact>
      <name>Patrick Hines</name>
    </contact>
    

関連項目