A LINQ–XML áttekintése a Visual Basicben
A Visual Basic xml-konstansokon és XML-tengelytulajdonságokon keresztül támogatja a LINQ-t az XML-hez. Ez lehetővé teszi, hogy egy jól ismert, kényelmes szintaxist használjon az XML használatához a Visual Basic-kódban. Az XML-literálok lehetővé teszik, hogy az XML-t közvetlenül a kódba foglalja. Az XML-tengely tulajdonságai lehetővé teszik az XML-literál gyermekcsomópontjaihoz, leszármazott csomópontjaihoz és attribútumaihoz való hozzáférést. További információt az XML-literálok áttekintése és az XML elérése a Visual Basicben című témakörben talál.
A LINQ–XML egy memóriabeli XML programozási API, amelyet kifejezetten a Language-Integrated Query (LINQ) előnyeinek kihasználására terveztek. Bár közvetlenül meghívhatja a LINQ API-kat, csak a Visual Basic teszi lehetővé XML-literálok deklarálásához és az XML-tengely tulajdonságainak közvetlen eléréséhez.
Feljegyzés
Az XML-literálok és az XML-tengely tulajdonságai nem támogatottak a deklaratív kódban egy ASP.NET lapon. A Visual Basic XML-funkciók használatához helyezze a kódot egy kód mögötti lapra a ASP.NET alkalmazásban.
A kapcsolódó videóbemutatókért lásd: Hogyan kezdhetem el használni a LINQ-t az XML-hez? és hogyan hozhatok létre Excel-számolótáblákat LINQ-ból XML-be?
XML létrehozása
Az XML-fák kétféleképpen hozhatók létre a Visual Basicben. Az XML-literálokat közvetlenül kódban deklarálhatja, vagy a LINQ API-k használatával hozhatja létre a fát. Mindkét folyamat lehetővé teszi, hogy a kód tükrözze az XML-fa végső szerkezetét. A következő kód például létrehoz egy XML-elemet:
Dim contact1 As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
További információ: XML létrehozása a Visual Basicben.
XML elérése és navigálása
A Visual Basic XML-tengelytulajdonságokat biztosít az XML-struktúrák eléréséhez és navigálásához. Ezek a tulajdonságok lehetővé teszik az XML-elemek és -attribútumok elérését az XML-gyermekelemek nevének megadásával. Másik lehetőségként explicit módon meghívhatja a LINQ metódusokat az elemek és attribútumok navigálásához és helyének meghatározásához. Az alábbi példakód például XML-tengelytulajdonságokkal hivatkozik egy XML-elem attribútumára és gyermekelemére. A példakód egy LINQ-lekérdezést használ a gyermekelemek lekérésére és XML-elemekként való kimenetére, hatékonyan végrehajtva az átalakítást.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Module Sample1
Sub SampleTransform()
' Create test by using a global XML namespace prefix.
Dim contact =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone ns:type="home">206-555-0144</ns:phone>
<ns:phone ns:type="work">425-555-0145</ns:phone>
</ns:contact>
Dim phoneTypes =
<phoneTypes>
<%= From phone In contact.<ns:phone>
Select <type><%= phone.@ns:type %></type>
%>
</phoneTypes>
Console.WriteLine(phoneTypes)
End Sub
End Module
További információt az XML elérése a Visual Basicben című témakörben talál.
XML-névterek
A Visual Basic lehetővé teszi, hogy aliast adjon meg egy globális XML-névtérhez az Imports
utasítás használatával. Az alábbi példa bemutatja, hogyan importálhat XML-névteret az Imports
utasítás használatával:
Imports <xmlns:ns="http://someNamespace">
XML-névtér-aliast akkor használhat, ha hozzáfér az XML-tengely tulajdonságaihoz, és XML-literálokat deklarál xml-dokumentumokhoz és elemekhez.
Egy adott névtér-előtag objektumát a GetXmlNamespace operátorral kérdezheti leXNamespace.
További információ: Import Statement (XML Namespace).
XML-névterek használata XML-literálokban
Az alábbi példa bemutatja, hogyan hozhat létre globális XElement névteret ns
használó objektumot:
Dim contact1 As XElement =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone type="home">206-555-0144</ns:phone>
<ns:phone type="work">425-555-0145</ns:phone>
</ns:contact>
Console.WriteLine(contact1)
A Visual Basic fordító az XML-névtér-aliasokat tartalmazó XML-literálokat egyenértékű kódra fordítja, amely az XML-névterek xml-jelölését használja az xmlns
attribútummal. Fordításkor az előző szakasz példájában szereplő kód lényegében ugyanazt a végrehajtható kódot hozza létre, mint a következő példában:
Dim contact2 As XElement =
<ns1:contact xmlns:ns1="http://someNamespace">
<ns1:name>Patrick Hines</ns1:name>
<ns1:phone type="home">206-555-0144</ns1:phone>
<ns1:phone type="work">425-555-0145</ns1:phone>
</ns1:contact>
Console.WriteLine(contact2)
XML-névterek használata az XML-tengely tulajdonságaiban
Az XML-literálokban deklarált XML-névterek nem használhatók az XML-tengely tulajdonságaiban. A globális névterek azonban használhatók az XML-tengely tulajdonságaival. Kettőspont használatával válassza el az XML-névtér előtagot a helyi elem nevétől. Az alábbiakban egy példa látható:
Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)
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: