如何:在 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>
    

请参阅