Wyrażenia osadzone w XML (Visual Basic)

Wyrażenia osadzone umożliwiają tworzenie literały XML, które zawierają wyrażenia, które są sprawdzane w czasie wykonywania.Składnia dla wyrażenia osadzony jest <%=expression%>, który jest taki sam jak składnia używana w ASP.NET.  

Na przykład można można utworzyć elementu XML literału, łączenie osadzonego wyrażenia z zawartością tekst dosłowny.

Dim isbnNumber As String = "12345" 
Dim modifiedDate As String = "3/5/2006" 
Dim book As XElement = 
    <book category="fiction" isbn=<%= isbnNumber %>>
        <modifiedDate><%= modifiedDate %></modifiedDate>
    </book>

Jeśli isbnNumber zawiera całkowitą 12345 i modifiedDate zawiera datę 3/5/2006, kiedy ten kod zostanie wykonany, wartość book jest:

<book category="fiction" isbn="12345">
  <modifiedDate>3/5/2006</modifiedDate>
</book>

Osadzone lokalizacji wyrażenie i sprawdzania poprawności

Osadzone wyrażenia mogą być wyświetlane tylko w niektórych miejscach, wewnątrz wyrażenia dosłowne XML.Formanty lokalizacji wyrażenie, które typy wyrażenie można wrócić i w jaki sposób Nothing jest obsługiwany.Poniższej tabeli opisano lokalizacje dozwolone i typów wyrażeń osadzonych.

Lokalizacja w literal

Wyrażenie typu

ObsługaNothing

Nazwa elementu XML

XName

Błąd

Zawartość elementów XML

Objectlub tablicyObject

Ignorowane

Nazwa atrybutu element XML

XName

Błąd, chyba że wartość atrybutu jest równieżNothing

Wartość atrybutu element XML

Object

Deklaracji atrybutu ignorowane

Atrybut element XML

XAttributelub zbiórXAttribute

Ignorowane

Element główny dokumentu XML

XElementlub zbiór jednej XElement obiektu i dowolnej liczby XProcessingInstruction i XComment obiekty

Ignorowane

  • Przykład wyrażenie osadzone w nazwie elementu XML:

    Dim elementName As String = "contact" 
    Dim contact1 As XElement = <<%= elementName %>/>
    
  • Przykład wyrażenie osadzone w zawartości elementu XML:

    Dim contactName As String = "Patrick Hines" 
    Dim contact2 As XElement = 
      <contact><%= contactName %></contact>
    
  • Przykład wyrażenie osadzonego elementu nazwa atrybutu XML:

    Dim phoneType As String = "home" 
    Dim contact3 As XElement = 
      <contact <%= phoneType %>="206-555-0144"/>
    
  • Przykład wyrażenie osadzone w wartości atrybutu elementu XML:

    Dim phoneNumber As String = "206-555-0144" 
    Dim contact4 As XElement = 
      <contact home=<%= phoneNumber %>/>
    
  • Przykład wyrażenie osadzone w atrybucie elementu XML:

    Dim phoneAttribute As XAttribute = 
      New XAttribute(XName.Get(phoneType), phoneNumber)
    Dim contact5 As XElement = 
      <contact <%= phoneAttribute %>/>
    
  • Przykład wyrażenie osadzone w głównym elementem dokumentu XML:

    Dim document As XDocument = 
      <?xml version="1.0"?><%= contact1 %>
    

Jeśli włączysz Option Strict, kompilator sprawdza, czy typ każdego wyrażenia osadzone rozszerza się do wymaganego typu.Jedynym wyjątkiem jest element główny dokumentu XML, który zostanie zweryfikowana, gdy kod jest uruchomiony.Jeśli kompilacja bez Option Strict, można osadzić wyrażeń typu Object i ich typ jest weryfikowany w czasie wykonywania.

W miejscach, gdzie zawartość jest opcjonalny wyrażenia, które zawierają osadzone Nothing są ignorowane.Oznacza to, nie trzeba sprawdzić zawartości pierwiastka, że wartości atrybutów, a elementy tablicy nie są Nothing przed użyciem literał XML.Wymagane wartości, takie jak nazwy elementów i atrybutów, nie może być Nothing.

Aby uzyskać więcej informacji na temat za pomocą wyrażenia osadzone w szczególności typu literał, zobacz Literał dokumentu XML (Visual Basic), Literał elementu XML (Visual Basic).

Zakresu zasady

Kompilator konwertuje każdy literał XML wywołanie konstruktora dla odpowiedniego typu literal.Zawartość literalna i wyrażeniach osadzonych w literał XML są przekazywane jako argumenty do konstruktora.Oznacza to, że wszystkie Visual Basic elementy programowe, które są dostępne dla literał XML są również dostępne dla jego wyrażeniach osadzonych.

W literał XML, można uzyskać dostęp do obszaru nazw XML prefiksy zadeklarowana z Imports instrukcji.Można zadeklarować nowy prefiks obszaru nazw XML lub cienia istniejący prefiks obszaru nazw XML, w elemencie przy użyciu xmlns atrybut.Nowy obszar nazw jest dostępne węzły podrzędne tego elementu, ale nie literały XML w wyrażeniach osadzonych.

[!UWAGA]

Kiedy zadeklarować prefiks obszaru nazw XML za pomocą xmlns atrybutu namespace, wartość atrybutu musi być stały ciąg.W tym względzie za pomocą xmlns atrybut przypomina korzystanie z Imports oświadczenie deklarować przestrzeni nazw XML.Za pomocą wyrażenia osadzony nie można określić wartości obszaru nazw XML.

Zobacz też

Informacje

Literał dokumentu XML (Visual Basic)

Literał elementu XML (Visual Basic)

Option Strict — Instrukcja

Imports — Instrukcja (.NET Namespace i Type)

Koncepcje

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

Inne zasoby

Tworzenie XML w Visual Basic