Поделиться через


Практическое руководство. Внедрение выражений в XML-литералы (Visual Basic)

Xml-литералы можно объединить с внедренными выражениями, чтобы создать XML-документ, фрагмент или элемент, содержащий содержимое, созданное во время выполнения. В следующих примерах показано, как использовать внедренные выражения для заполнения содержимого, атрибутов и имен элементов во время выполнения.

Синтаксис внедренного выражения — <%= exp %>это тот же синтаксис, который используется ASP.NET. Дополнительные сведения см. в разделе "Внедренные выражения" в ФОРМАТЕ XML.

Вы также можете использовать API-интерфейсы LINQ to XML для создания объектов 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>
    

См. также