Megosztás a következőn keresztül:


XML-elem literálja (Visual Basic)

Egy objektumot XElement jelképező literál.

Syntax

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

Részek

  • <

    Szükséges. Megnyitja a kezdőelem címkéjét.

  • name

    Szükséges. Az elem neve. A formátum az alábbiak egyike:

    • Az űrlap [ePrefix:]eNameelemnevének literális szövege, ahol:

      Része Leírás
      ePrefix Opcionális. Az elem XML-névterének előtagja. Globális XML-névtérnek kell lennie, amely a fájlban vagy a projekt szintjén lévő utasítással, vagy az elemben vagy szülőelemben definiált helyi XML-névtérrel Imports van definiálva.
      eName Szükséges. Az elem neve. A formátum az alábbiak egyike:

      - Literál szöveg. Lásd : Deklarált XML-elemek és attribútumok neve.
      - Az űrlap <%= eNameExp %>beágyazott kifejezése. A típusnak eNameExp vagy olyan típusnak kell lennieString, amely implicit módon átalakítható.XName
    • Az űrlap <%= nameExp %>beágyazott kifejezése. A típusnak nameExp implicit módon konvertálhatónak XNamekell lennieString. Egy elem záró címkéjében beágyazott kifejezés nem engedélyezett.

  • attributeList

    Opcionális. A literálban deklarált attribútumok listája.

    attribute [ attribute ... ]

    Mindegyik attribute a következő szintaxisok egyikével rendelkezik:

    • Attribútum-hozzárendelés az űrlapon [aPrefix:]aName=aValue, ahol:

      Része Leírás
      aPrefix Opcionális. Az attribútum XML-névtér-előtagja. Egy utasítással Imports definiált globális XML-névtérnek vagy az elemben vagy szülőelemben definiált helyi XML-névtérnek kell lennie.
      aName Szükséges. Az attribútum neve. A formátum az alábbiak egyike:

      - Literál szöveg. Lásd : Deklarált XML-elemek és attribútumok neve.
      - Az űrlap <%= aNameExp %>beágyazott kifejezése. A típusnak aNameExp vagy olyan típusnak kell lennieString, amely implicit módon átalakítható.XName
      aValue Opcionális. Az attribútum értéke. A formátum az alábbiak egyike:

      - Idézőjelek közé zárt literális szöveg.
      - Az űrlap <%= aValueExp %>beágyazott kifejezése. Bármilyen típus engedélyezett.
    • Az űrlap <%= aExp %>beágyazott kifejezése.

  • />

    Opcionális. Azt jelzi, hogy az elem egy üres elem tartalom nélkül.

  • >

    Szükséges. Véget vet az első vagy üres elemcímkének.

  • elementContents

    Opcionális. Az elem tartalma.

    content [ content ... ]

    Mindegyik content a következők egyike lehet:

  • </[name]>

    Opcionális. Az elem záró címkéjét jelöli. Az opcionális name paraméter nem engedélyezett, ha beágyazott kifejezés eredménye.

Visszatérési érték

Egy XElement objektum.

Megjegyzések

Az XML-elem literálszintaxisával objektumokat hozhat létre XElement a kódban.

Feljegyzés

Az XML-literál több sort is átfoghat sor-folytatási karakterek használata nélkül. Ez a funkció lehetővé teszi, hogy tartalmat másoljon egy XML-dokumentumból, és illessze be közvetlenül egy Visual Basic-programba.

Az űrlap <%= exp %> beágyazott kifejezései lehetővé teszik, hogy dinamikus információkat adjon hozzá egy XML-elemkonstanshoz. További információ: Beágyazott kifejezések XML-ben.

A Visual Basic fordító az XML-elemet konstruktorhoz XElement intézett hívásokká alakítja, és szükség esetén a XAttribute konstruktort.

XML-névterek

Az XML-névtér előtagjai akkor hasznosak, ha xml-literálokat kell létrehoznia az azonos névtér elemeivel a kódban. Használhat globális XML-névtérelőtagokat, amelyeket az utasítással vagy az Imports attribútumszintaxissal xmlns:xmlPrefix="xmlNamespace" definiált helyi előtagokkal határoz meg. További információ: Import Statement (XML Namespace).

Az XML-névterek hatókörkezelési szabályainak megfelelően a helyi előtagok elsőbbséget élveznek a globális előtagokkal szemben. Ha azonban egy XML-literál xml-névteret határoz meg, akkor a névtér nem érhető el beágyazott kifejezésben megjelenő kifejezések számára. A beágyazott kifejezés csak a globális XML-névteret érheti el.

A Visual Basic fordító minden olyan globális XML-névteret konvertál, amelyet egy XML-literál használ egy helyi névtérdefinícióvá a létrehozott kódban. A nem használt globális XML-névterek nem jelennek meg a létrehozott kódban.

1. példa

Az alábbi példa bemutatja, hogyan hozhat létre egy egyszerű XML-elemet, amely két beágyazott üres elemet tartalmazó.

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

Console.WriteLine(test1)

A példában a következő szöveg látható. Figyelje meg, hogy a literál megőrzi az üres elemek szerkezetét.

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

2. példa

Az alábbi példa bemutatja, hogyan nevezhet el egy elemet beágyazott kifejezések használatával, és hogyan hozhat létre attribútumokat.

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)

Ez a kód a következő szöveget jeleníti meg:

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

3. példa

Az alábbi példa XML-névtérelőtagként deklarál ns . Ezután a névtér előtagjával létrehoz egy XML-literált, és megjeleníti az elem végleges űrlapját.

' 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

Ez a kód a következő szöveget jeleníti meg:

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

Figyelje meg, hogy a fordító a globális XML-névtér előtagját az XML-névtér előtagdefiníciójába konvertálta. Az <ns:middle> elem újradefiniálja az xml-névtér előtagot az <ns:inner1> elemhez. Az <ns:inner2> elem azonban az utasítás által definiált névteret Imports használja.

Lásd még