Udostępnij za pośrednictwem


Literał elementu XML (Visual Basic)

Literał, który reprezentuje XElement obiektu.

<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>

Części

Termin

Definicja

<

Wymagane.Otwiera tag początkowy elementu.

name

Wymagane.Nazwa elementu.Format jest jedną z następujących czynności:

  • Literały tekstowe dla nazwy elementu w formularzu ePrefix:eName, gdzie:

Część

Opis

ePrefix

Opcjonalne.Prefiks obszaru nazw XML dla tego elementu.Musi być w globalnej przestrzeni nazw XML, zdefiniowanego za pomocą Imports instrukcję w pliku lub na poziomie projektu lub lokalnych nazw XML, która jest zdefiniowana w ten element lub element nadrzędny.

eName

Wymagane.Nazwa elementu.Format jest jedną z następujących czynności:

  • Osadzone wyrażenie postaci <%=nameExp%>.  Typ nameExp musi być String lub niejawnie konwertowane typu XName.Wyrażenie osadzony nie jest dozwolony w tagu zamykającego elementu.

attributeList

Opcjonalne.Lista atrybutów zadeklarowane w literał.

attribute [ attribute ... ]

Każdy attribute o jednym z następujących składni:

  • Attribute assignment, of the form aPrefix:aName=aValue, where:

Część

Opis

aPrefix

Opcjonalne.Prefiks obszaru nazw XML dla atrybutu.Musi być w globalnej przestrzeni nazw XML, zdefiniowanego za pomocą Imports instrukcji lub lokalnych nazw XML, która jest zdefiniowana w ten element lub element nadrzędny.

aName

Wymagane.Nazwa atrybutu.Format jest jedną z następujących czynności:

aValue

Opcjonalne.Wartość atrybutu.Format jest jedną z następujących czynności:

  • Tekst dosłowny ujęty w cudzysłów.

  • Osadzone wyrażenie postaci <%=aValueExp%>.  Dowolny typ jest dozwolone.

  • Osadzone wyrażenie postaci <%=aExp%>.  

/>

Opcjonalne.Wskazuje, że element ten jest pusty element, bez zawartości.

>

Wymagane.Kończy się w tagu elementu początkową lub pusty.

elementContents

Opcjonalne.Zawartość elementu.

content [ content ... ]

Każdy content może być jedną z następujących czynności:

</[name]>

Opcjonalne.Reprezentuje zamykający znacznik dla elementu.Opcjonalny name parametr nie jest dopuszczalna, gdy jest wynikiem wyrażenia osadzonych.

Wartość zwracana

XElement Obiektu.

Uwagi

Można użyć składni literału elementu XML do tworzenia XElement obiektów w kodzie.

[!UWAGA]

Literał XML może obejmować wiele wierszy, bez używania znaków kontynuacji wiersza.Ta funkcja umożliwia kopiowanie zawartooci dokumentu XML i wklej go bezpośrednio do Visual Basic programu.

Osadzone wyrażeń formularza <%=exp%> umożliwiają dodanie dynamicznych informacji do literału elementu XML.  Aby uzyskać więcej informacji, zobacz Wyrażenia osadzone w XML (Visual Basic).

Visual Basic Kompilatora konwertuje literału elementu XML do wywołania #ctor konstruktora i, jeśli jest to wymagane, #ctor konstruktora.

Przestrzenie nazw XML

Prefiksy obszarów nazw XML są przydatne, gdy trzeba utworzyć literałów XML z elementami z tej samej przestrzeni nazw wiele razy w kodzie.Można użyć globalnego prefiksy obszarów nazw XML, które definiują za pomocą Imports instrukcji lub prefiksy lokalne, które można zdefiniować za pomocą xmlns:xmlPrefix= "xmlNamespace" składni atrybutu.Aby uzyskać więcej informacji, zobacz Imports — Instrukcja (przestrzeń nazw XML).

Zgodnie z regułami zakresu dla obszarów nazw XML prefiksy lokalne mają pierwszeństwo przed globalnych prefiksów.Jednakże jeśli literał XML definiuje przestrzeni nazw XML, tego obszaru nazw nie jest dostępna dla wyrażeń, które pojawiają się w wyrażeniach osadzonych.Wyrażenie osadzonych można uzyskać dostęp tylko globalnego nazw XML.

Visual Basic Kompilatora konwertuje każdego globalnej przestrzeni nazw XML używanego przez literał XML w jednej definicji lokalnego obszaru nazw w generowanym kodzie.Globalnej przestrzeni nazw XML, które nie są używane, nie są wyświetlane w generowanym kodzie.

Przykład

Poniższy przykład przedstawia sposób tworzenia prostego elementu XML, który ma dwa zagnieżdżone pustych elementów.

Dim test1 As XElement = 
<outer>
    <inner1></inner1>
    <inner2/>
</outer>

Console.WriteLine(test1)

W przykładzie zostanie wyświetlony następujący tekst.Należy zauważyć, że literał zachowuje strukturę pustych elementów.

<outer>
  <inner1></inner1>
  <inner2 />
</outer>

Poniższy przykład pokazuje sposób użycia wyrażeń osadzone do nazwy elementu i utworzyć atrybutów.

Dim elementType = "book" 
Dim authorName = "My Author" 
Dim attributeName1 = "year" 
Dim attributeValue1 = 1999
Dim attributeName2 = "title" 
Dim attributeValue2 = "My Book" 

Dim book As XElement = 
<<%= elementType %>
    isbn="1234"
    author=<%= authorName %>
    <%= attributeName1 %>=<%= attributeValue1 %>
    <%= New XAttribute(attributeName2, attributeValue2) %>
/>

Console.WriteLine(book)

Ten kod wyświetla następujący tekst:

<book isbn="1234" author="My Author" year="1999" title="My Book" />

Poniższy przykład deklaruje ns jako prefiks obszaru nazw XML.Następnie używa prefiks obszaru nazw, aby utworzyć literał XML i wyświetla element ostatecznej postaci.

' Place Imports statements at the top of your program.   
Imports <xmlns:ns="http://SomeNamespace">

Class TestClass1

    Shared Sub TestPrefix()
        ' Create test using a global XML namespace prefix.  
        Dim inner2 = <ns:inner2/>

        Dim test = 
        <ns:outer>
            <ns:middle xmlns:ns="http://NewNamespace">
                <ns:inner1/>
                <%= inner2 %>
            </ns:middle>
        </ns:outer>

        ' Display test to see its final form. 
        Console.WriteLine(test)
    End Sub 

End Class

Ten kod wyświetla następujący tekst:

<ns:outer xmlns:ns="http://SomeNamespace">
  <ns:middle xmlns:ns="http://NewNamespace">
    <ns:inner1 />
    <inner2 xmlns="http://SomeNamespace" />
  </ns:middle>
</ns:outer>

Należy zauważyć, że kompilator przekształconych prefiks globalny obszar nazw XML definicji prefiks obszaru nazw XML.<ns:middle> element na nowo definiuje pojęcie prefiks obszaru nazw XML dla <ns:inner1> element.Jednakże <ns:inner2> element używa obszaru nazw, zdefiniowany przez Imports instrukcji.

Zobacz też

Informacje

XElement

Literał komentarza XML (Visual Basic)

Literał CDATA XML (Visual Basic)

Imports — Instrukcja (przestrzeń nazw XML)

Koncepcje

Nazwy deklarowanych elementów XML oraz atrybuty (Visual Basic)

Wyrażenia osadzone w XML (Visual Basic)

Inne zasoby

Literały XML (Visual Basic)

Tworzenie XML w Visual Basic