Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Miután létrehozott egy XML-fát, vagy betöltött egy XML-dokumentumot egy XML-fába, lekérdezheti az elemeket és attribútumokat, és lekérheti az értékeiket. A gyűjteményeket a tengelymetódusok segítségével lehet lekérni, amelyeket tengelyeknek is neveznek. A XElement és XDocument osztályokban szereplő metódusok közül néhány visszaadják a IEnumerable<T> gyűjteményeket. Egyes tengelyek a Extensions osztály kiterjesztési metódusai. A kiterjesztési módszerként implementált tengelyek gyűjteményeken működnek, és gyűjteményeket adnak vissza.
Az XElement-osztály áttekintésében leírtak szerint az XElement objektumok egyetlen elemcsomópontot jelölnek. Az elemek tartalma lehet összetett (más néven strukturált tartalom), vagy egyszerű elem is lehet. Egy egyszerű elem lehet üres vagy tartalmazhat értéket. Ha a csomópont strukturált tartalmat tartalmaz, a különböző tengelymetszetekkel lekérheti a leszármazott elemek enumerációit. A leggyakrabban használt tengelymetóciók a következők Elements : és Descendants.
A gyűjteményeket adnak eredményül tengelymetódusokon kívül két további módszer is létezik, amelyeket gyakran használ a LINQ-ban XML-lekérdezések során. A Element metódus egyetlen XElementértéket ad vissza. A Attribute metódus egyetlen XAttributeértéket ad vissza.
A LINQ-lekérdezések számos célra biztosítják a leghatékonyabb módot a fa vizsgálatára, az adatok kinyerésére és átalakítására. A LINQ-lekérdezések olyan objektumokon működnek, amelyek implementálják IEnumerable<T>, és a LINQ to XML tengelyek IEnumerable<T>XElement gyűjteményeket és IEnumerable<T>XAttribute gyűjteményeket adnak vissza. Ezekre a gyűjteményekre van szüksége a lekérdezések elvégzéséhez.
Az elemek és attribútumok gyűjteményeit lekérő tengelymetóciók mellett vannak olyan tengelymetóciók is, amelyek lehetővé teszik a fa részletes iterálását. Az elemek és attribútumok kezelése helyett például a fa csomópontjaival is dolgozhat. A csomópontok részletesebbek, mint az elemek és attribútumok. A csomópontok használatakor megvizsgálhatja az XML-megjegyzéseket, a szövegcsomópontokat, a feldolgozási utasításokat és egyebeket. Ez a funkció fontos például olyan személy számára, aki szövegszerkesztőt ír, és XML-fájlként szeretné menteni a dokumentumokat. Az XML-programozók többsége azonban elsősorban az elemekkel, attribútumokkal és azok értékeivel foglalkozik.
Elemek gyűjteményének lekérési módszerei
Az alábbiakban összefoglaljuk annak az osztálynak (vagy alaposztályainak XElement) metódusait, amelyeket egy XElement hív meg a elemek gyűjteményének visszaadására.
| Metódus | Leírás |
|---|---|
| XNode.Ancestors | Az elem őseinek egy IEnumerable<T>XElement részét adja vissza. A túlterhelés visszaad egy IEnumerable<T> a megadott XElement-el rendelkező elődök XName részéből. |
| XContainer.Descendants | Az elem leszármazottainak egy IEnumerable<T>XElement részét adja vissza. A túlterhelés a megadott IEnumerable<T>leszármazottak egy XElement részét XName adja vissza. |
| XContainer.Elements | Az elem gyermekelemeinek egy IEnumerable<T>XElement részét adja vissza. A túlterhelés a megadott IEnumerable<T>gyermekelemek egy XElement részét XName adja vissza. |
| XNode.ElementsAfterSelf | Az elem utáni elemek egy IEnumerable<T> részét XElement adja vissza. A túlterhelés visszaad egy IEnumerable<T>-t azoknak az elemeknek az XElement-jéből, amelyek ezen elem utániak, és rendelkeznek a megadott XName-vel. |
| XNode.ElementsBeforeSelf | Az elem elé tartozó elemek egy IEnumerable<T> részét XElement adja vissza. A túlterhelés a megadott IEnumerable<T>elem előtti elemek egy XElement részét XName adja vissza. |
| XElement.AncestorsAndSelf | Ennek az elemnek IEnumerable<T> és őseinek egy XElement részét adja vissza. A túlterhelés a megadott IEnumerable<T>elemekkel rendelkező elemek egy XElement részét XName adja vissza. |
| XElement.DescendantsAndSelf | Ennek az elemnek IEnumerable<T> és leszármazottainak egy XElement részét adja vissza. A túlterhelés a megadott IEnumerable<T>elemekkel rendelkező elemek egy XElement részét XName adja vissza. |
Egyetlen elem lekérdezésének módja
Az alábbi metódus egyetlen gyermek beolvasását hajtja végre egy XElement objektumból.
| Metódus | Leírás |
|---|---|
| XContainer.Element | Az első olyan XElement gyermekobjektumot adja vissza, amely rendelkezik a megadott XName-vel. |
Attribútumgyűjtemény beolvasásának módja
Az alábbi metódus attribútumokat kér le egy XElement objektumból.
| Metódus | Leírás |
|---|---|
| XElement.Attributes | Visszaadja az összes attribútum IEnumerable<T>XAttribute-t. |
Egyetlen attribútum beolvasásának módja
Az alábbi metódus egyetlen attribútumot kér le egy XElement objektumból.
| Metódus | Leírás |
|---|---|
| XElement.Attribute | A megadott XAttribute-et tartalmazó XName-t adja vissza. |