XML-konstansok áttekintése (Visual Basic)
Az XML-literál lehetővé teszi, hogy közvetlenül beépítse az XML-t a Visual Basic-kódba. Az XML-literál szintaxis a LINQ-t az XML-objektumokhoz jelöli, és az XML 1.0 szintaxishoz hasonló. Így könnyebben hozhat létre XML-elemeket és dokumentumokat programozott módon, mivel a kód szerkezete megegyezik a végleges XML-fájléval.
A Visual Basic XML-literálokat fordít LINQ-ra XML-objektumokká. A LINQ–XML egyszerű objektummodellt biztosít az XML létrehozásához és manipulálásához, és ez a modell jól integrálható a nyelvvel integrált lekérdezéssel (LINQ). További információ: XElement.
Visual Basic-kifejezéseket xml-literálba ágyazhat be. Futtatáskor az alkalmazás létrehoz egy LINQ-ból XML-objektumot minden egyes literálhoz, amely a beágyazott kifejezések értékeit tartalmazza. Ez lehetővé teszi, hogy dinamikus tartalmat adjon meg egy XML-literálon belül. További információ: Beágyazott kifejezések XML-ben.
Az XML-literális szintaxis és az XML 1.0 szintaxis közötti különbségekről további információt az XML Literálok és az XML 1.0 specifikációja című témakörben talál.
Egyszerű literálok
A Visual Basic-kódban linq-ből XML-objektumot hozhat létre érvényes XML-fájlba való beírással vagy beillesztéssel. Az XML-elem literál egy objektumot XElement ad vissza. További információkért lásd az XML-elem literál - és XML-literáljait, valamint az XML 1.0 specifikációját. Az alábbi példa egy több gyermekelemet tartalmazó XML-elemet hoz létre.
Dim contact1 As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
XML-dokumentumot úgy hozhat létre, hogy elindít egy XML-literált <?xml version="1.0"?>
az alábbi példában látható módon. Egy XML-dokumentum literál egy objektumot XDocument ad vissza. További információ: XML-dokumentumkonstans.
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>
Feljegyzés
A Visual Basic XML-literálszintaxisa nem azonos az XML 1.0 specifikációjának szintaxisával. További információ: XML-literálok és az XML 1.0 specifikációja.
Sor folytatása
Az XML-literál több sort is átfoghat sorfolytatási karakterek (a szóköz aláhúzásjel-enter sorozat) használata nélkül. Így könnyebben összehasonlíthatja a kódban lévő XML-literálokat az XML-dokumentumokkal.
A fordító egy XML-literál részeként kezeli a sorfolytatási karaktereket. Ezért a szóköz aláhúzásjel-enter sorozatot csak akkor érdemes használni, ha az a LINQ-ból XML-objektumba tartozik.
Ha azonban beágyazott kifejezésben többsoros kifejezés van, akkor sorfolytatási karakterekre van szüksége. További információ: Beágyazott kifejezések XML-ben.
Lekérdezések beágyazása XML-literálokban
Egy beágyazott kifejezésben lekérdezést is használhat. Ha ezt teszi, a lekérdezés által visszaadott elemek hozzáadódnak az XML-elemhez. Így dinamikus tartalmat adhat hozzá egy XML-konstanshoz, például egy felhasználó lekérdezésének eredményét.
Az alábbi kód például beágyazott lekérdezéssel hoz létre XML-elemeket a phoneNumbers2
tömb tagjaiból, majd ezeket az elemeket a rendszer gyermekeiként contact2
adja hozzá.
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
Objektumok létrehozása XML-konstansokból
A Visual Basic fordítója az XML-konstruktorokkal egyenértékű LINQ-konstruktorokra irányuló hívásokra fordítja le az XML-literálokat, hogy a LINQ-t XML-objektummá alakítsa. A Visual Basic fordító például a következő kód példáját fogja lefordítani XProcessingInstruction az XML-verzióutasítás konstruktorának, a konstruktornak XElement a , <name>
és <phone>
az elemek konstruktorának<contact>
, valamint az XAttribute attribútum konstruktorának type
a hívására. Az alábbi mintában szereplő attribútumok alapján a Visual Basic fordító kétszer hívja meg a konstruktort XAttribute(XName, Object) . Az első a paraméter értékét type
name
és a paraméter értékét home
value
adja át. A második a paraméter értékét type
name
is átadja, de a value
paraméter értékétwork
.
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>
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: