Gewusst wie: Einbetten von Ausdrücken in XML-Literalen (Visual Basic)

Sie können XML-Literale mit eingebetteten Ausdrücken kombinieren, um ein XML-Dokument, -Fragment oder -Element zu erstellen, das zur Laufzeit erstellte Inhalte enthält. In den folgenden Beispielen wird veranschaulicht, wie eingebettete Ausdrücke verwendet werden, um Elementinhalte, Attribute und Elementnamen zur Laufzeit aufzufüllen.

Die Syntax für einen eingebetteten Ausdruck lautet <%=exp%> und ist somit mit der von ASP.NET verwendeten Syntax identisch. Weitere Informationen finden Sie unter Eingebettete Ausdrücke in XML (Visual Basic).

Sie können auch die LINQ to XML-APIs verwenden, um LINQ to XML-Objekte zu erstellen. Weitere Informationen finden Sie unter XElement.

Prozeduren

So fügen Sie Text als Elementinhalt ein

  • Im folgenden Beispiel wird gezeigt, wie der in der contactName-Variablen enthaltene Text zwischen dem öffnenden und dem schließenden Namenselement eingefügt wird:

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

    Dieses Beispiel erzeugt die folgende Ausgabe:

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

So fügen Sie Text als Attributwert ein

  • Im folgenden Beispiel wird gezeigt, wie der in der phoneType-Variablen enthaltene Text als Wert des type-Attributs eingefügt wird:

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

    Dieses Beispiel erzeugt die folgende Ausgabe:

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

So fügen Sie Text für einen Elementnamen ein

  • Im folgenden Beispiel wird gezeigt, wie der in der elementName-Variablen enthaltene Text als Name eines Elements eingefügt wird.

    Wenn Sie Elemente mit dieser Technik erstellen, müssen Sie sie mit dem Tag </> schließen.

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

    Dieses Beispiel erzeugt die folgende Ausgabe:

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

Siehe auch