Literały XML - Przegląd (Visual Basic)

Literał XML pozwala na włączenie XML bezpośrednio do sieci Visual Basic kodu. Reprezentuje składni literału XML LINQ do XML obiektów, a jest podobna do składni XML 1.0. Ta funkcja ułatwia programistyczne tworzenie elementów XML i dokumentów, ponieważ kod ma taką samą strukturę jak końcowe XML.

Visual Basickompiluje literały XML do LINQ do XML obiektów.LINQ do XMLudostępnia model prosty obiekt do tworzenia i manipulowania XML i model ten doskonale współpracuje z Zapytanie o języku zintegrowanym (LINQ).Aby uzyskać więcej informacji, zobacz XElement.

Można osadzić Visual Basic wyrażenie w literał XML.W czasie wykonywania, aplikacja tworzy LINQ do XML obiektu dla każdego literał, zawierające wartości wyrażeń osadzonych.Pozwala to określić zawartość dynamiczną wewnątrz literał XML.Aby uzyskać więcej informacji, zobacz Wyrażenia osadzone w XML (Visual Basic).

Aby uzyskać więcej informacji o różnicach między składni literału XML i składni XML 1.0, zobacz Literały XML i specyfikacja XML 1.0 (Visual Basic).

Literały proste

Można utworzyć LINQ do XML obiekt w sieci Visual Basic kod, wpisując go ręcznie lub wklejając w prawidłowym kodem XML.Zwraca wartość literału elementu XML XElement obiektu.Aby uzyskać więcej informacji, zobacz Literał elementu XML (Visual Basic) i Literały XML i specyfikacja XML 1.0 (Visual Basic).Poniższy przykład tworzy element XML, który ma kilka elementów podrzędnych.

Dim contact1 As XElement = 
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

Dokument XML można utworzyć przez uruchomienie XML literału z <?xml version="1.0"?>, jak pokazano w poniższym przykładzie.Zwraca wartość literału dokumentu XML XDocument obiektu.Aby uzyskać więcej informacji, zobacz Literał dokumentu XML (Visual Basic).

Dim contactDoc As XDocument = 
    <?xml version="1.0"?>
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

[!UWAGA]

Składni literału XML w Visual Basic nie jest identyczna ze składnią w specyfikacji XML 1.0.Aby uzyskać więcej informacji, zobacz Literały XML i specyfikacja XML 1.0 (Visual Basic).

Kontynuacji wiersza

Literał XML może obejmować wiele wierszy, bez używania znaków kontynuacji wiersza (Kolejność wprowadź podkreślenia miejsca).Ta funkcja ułatwia porównanie literały XML w kodzie z dokumentami XML.

Kompilator traktuje znaki kontynuacji wiersza jako część literał XML.W związku z tym, należy używać sekwencji wprowadź podkreślenia miejsce tylko wtedy, gdy należy w LINQ do XML obiektu.

Jednak konieczne znaki kontynuacji wiersza, jeśli w wyrażeniu osadzone wielowierszowe wyrażenie.Aby uzyskać więcej informacji, zobacz Wyrażenia osadzone w XML (Visual Basic).

Osadzanie kwerend w literały XML

Kwerendę można użyć w wyrażeniu osadzonych.Po wykonaniu tej czynności elementy zwracane przez kwerendy są dodawane do elementu XML.Dzięki temu można dodawać zawartość dynamiczną, takich jak wynik kwerendy użytkownika do literał XML.

Na przykład, następujący kod używa kwerendy osadzone do tworzenia elementów XML od członków phoneNumbers2 array, a następnie dodać te elementy jako dzieci contact2.

Public Class XmlSamples

  Public Sub Main()
    ' Initialize the objects.  

    Dim phoneNumbers2 As Phone() = { 
        New Phone("home", "206-555-0144"), 
        New Phone("work", "425-555-0145")}

    ' Convert the data contained in phoneNumbers2 to XML.  

    Dim contact2 = 
        <contact>
          <name>Patrick Hines</name>
          <%= From p In phoneNumbers2 
            Select <phone type=<%= p.Type %>><%= p.Number %></phone> 
          %>
        </contact>

    Console.WriteLine(contact2)
  End Sub 

End Class 

Class Phone
  Public Type As String 
  Public Number As String 
  Public Sub New(ByVal t As String, ByVal n As String)
    Type = t
    Number = n
  End Sub 
End Class

W jaki sposób kompilator tworzy obiekty z literały XML

Visual Basic Kompilator tłumaczy literały XML na równoważne wywołania LINQ do XML konstruktory do zbudowania LINQ do XML obiektu.Na przykład Visual Basic kompilator będzie tłumaczenia w poniższym przykładzie kodu na wywołanie do XProcessingInstruction konstruktora dla instrukcji wersji XML, wzywa do XElement konstruktora dla <contact>, <name>, i <phone> elementów i wzywa do XAttribute konstruktora dla type atrybut.W szczególności, biorąc pod uwagę atrybuty w następującym przykładzie, Visual Basic kompilator będzie wywoływać #ctor(XName, Object) dwa razy konstruktora.Pierwszy będzie przekazać wartość type do name parametru i wartości home do value parametru.Drugi będzie również przekazać wartość type do name parametr, ale wartość work do value parametru.

Dim contactDoc As XDocument = 
    <?xml version="1.0"?>
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

Zobacz też

Informacje

Literał dokumentu XML (Visual Basic)

Literał elementu XML (Visual Basic)

XElement

Koncepcje

Wyrażenia osadzone w XML (Visual Basic)

Inne zasoby

Tworzenie XML w Visual Basic

Literały XML (Visual Basic)