Udostępnij za pośrednictwem


Porady: osadzanie wyrażeń w literałach XML (Visual Basic)

Można połączyć literały XML z wyrażeniami osadzonymi, aby utworzyć dokument XML, fragment lub element zawierający zawartość utworzoną w czasie wykonywania. W poniższych przykładach pokazano, jak używać wyrażeń osadzonych do wypełniania zawartości elementów, atrybutów i nazw elementów w czasie wykonywania.

Składnia osadzonego wyrażenia to <%= exp %>, która jest tą samą składnią, której używa ASP.NET. Aby uzyskać więcej informacji, zobacz Wyrażenia osadzone w języku XML.

Możesz również użyć interfejsów API LINQ to XML, aby utworzyć obiekty LINQ to XML. Aby uzyskać więcej informacji, zobacz XElement.

Procedury

Aby wstawić tekst jako zawartość elementu

  • W poniższym przykładzie pokazano, jak wstawić tekst zawarty w contactName zmiennej między elementami nazwy otwierającej i zamykającej.

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

    Ten przykład generuje następujące wyniki:

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

Aby wstawić tekst jako wartość atrybutu

  • W poniższym przykładzie pokazano, jak wstawić tekst zawarty w zmiennej phoneType jako wartość atrybutu type .

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

    Ten przykład generuje następujące wyniki:

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

Aby wstawić tekst dla nazwy elementu

  • W poniższym przykładzie pokazano, jak wstawić tekst zawarty w zmiennej elementName jako nazwę elementu.

    Podczas tworzenia elementów przy użyciu tej techniki należy je zamknąć za pomocą tagu </> .

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

    Ten przykład generuje następujące wyniki:

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

Zobacz też