Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Po vytvoření stromu XML nebo načtení dokumentu XML do stromu XML můžete dotazovat pro vyhledání prvků a atributů a získat jejich hodnoty. Kolekce načítáte pomocí metod axis, označovaných také jako osy. Některé prvky jsou metody v třídách XElement a XDocument, které vracejí kolekce IEnumerable<T>. Některé osy jsou rozšiřující metody třídy Extensions . Osy implementované jako rozšiřující metody operují s kolekcemi a vracejí kolekce.
Jak je popsáno v přehledu třídy XElement, XElement objekt představuje jeden uzel elementu. Obsah prvku může být složitý (někdy označovaný jako strukturovaný obsah) nebo může být jednoduchým prvkem. Jednoduchý prvek může být prázdný nebo může obsahovat hodnotu. Pokud uzel obsahuje strukturovaný obsah, můžete k načtení výčtů následnických prvků použít různé metody osy. Nejčastěji používané metody osy jsou Elements a Descendants.
Kromě metod osy, které vracejí kolekce, existují dvě další metody, které běžně použijete v dotazech LINQ to XML. Metoda Element vrátí jeden XElement. Metoda Attribute vrátí jeden XAttribute.
Pro mnoho účelů poskytují dotazy LINQ nejúčinnější způsob, jak prozkoumat strom, extrahovat z nich data a transformovat je. Dotazy LINQ pracují s objekty, které implementují IEnumerable<T>, a LINQ to XML osy vracejí kolekce IEnumerable<T> z XElement a kolekce IEnumerable<T> z XAttribute. Tyto kolekce potřebujete k provedení dotazů.
Kromě metod osy, které načítají kolekce prvků a atributů, existují metody, které umožňují iterovat strom do velkých podrobností. Například místo práce s prvky a atributy můžete pracovat s uzly stromu. Uzly jsou jemnější úrovní členitosti než prvky a atributy. Při práci s uzly můžete zkoumat komentáře XML, textové uzly, pokyny ke zpracování a další. Tato funkce je důležitá například pro někoho, kdo píše textový procesor a chce ukládat dokumenty jako XML. Většina programátorů XML se ale primárně zabývá elementy, atributy a jejich hodnotami.
Metody pro získání kolekce prvků
Následuje souhrn metod třídy XElement (nebo jejích základních tříd), které voláte na XElement k vrácení kolekce prvků.
| Metoda | Popis |
|---|---|
| XNode.Ancestors | IEnumerable<T> Vrátí seznam předchůdců XElement tohoto prvku. Přetížení vrátí IEnumerable<T> hodnotu nadřazených XElement objektů, které mají zadané XName. |
| XContainer.Descendants | IEnumerable<T> Vrátí hodnotu XElement následníků tohoto prvku. Přetížení vrátí IEnumerable<T> hodnotu XElement potomků, kteří mají zadané XName. |
| XContainer.Elements | Vrátí IEnumerable<T>XElement podřízených prvků tohoto prvku. Přetížení vrátí IEnumerable<T> hodnotu podřízených XElement prvků, které mají zadané XName. |
| XNode.ElementsAfterSelf | Vrací IEnumerable<T> z XElement prvků, které následují za tímto prvkem. Přetížení vrátí IEnumerable<T> část XElement prvků za tímto prvkem, které mají zadané XName. |
| XNode.ElementsBeforeSelf | Vrátí IEnumerable<T> z XElement z prvků, které se nacházejí před tímto prvkem. Přetížení vrátí IEnumerable<T> obsahující XElement těch prvků, které předcházejí tento prvek a mají zadané XName. |
| XElement.AncestorsAndSelf | IEnumerable<T> Vrátí hodnotu XElement tohoto prvku a jeho nadřazených prvků. Přetížení vrátí IEnumerable<T> z XElement prvků, které mají zadané XName. |
| XElement.DescendantsAndSelf | IEnumerable<T> Vrátí hodnotu XElement tohoto prvku a jeho potomků. Přetížení vrátí IEnumerable<T> z XElement prvků, které mají zadané XName. |
Metoda pro načtení jednoho prvku
Následující metoda získá jednoho potomka z objektu XElement.
| Metoda | Popis |
|---|---|
| XContainer.Element | Vrátí první podřízený objekt XElement, který má zadanou XName. |
Metoda pro načtení kolekce atributů
Následující metoda načte atributy z objektu XElement .
| Metoda | Popis |
|---|---|
| XElement.Attributes | IEnumerable<T> Vrátí hodnotu všech XAttribute atributů. |
Metoda pro načtení jednoho atributu
Následující metoda načte jeden atribut z objektu XElement .
| Metoda | Popis |
|---|---|
| XElement.Attribute | Vrátí XAttribute, který má zadanou XName. |