Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du har skapat ett XML-träd eller läst in ett XML-dokument i ett XML-träd kan du fråga det för att hitta element och attribut och hämta deras värden. Du hämtar samlingar via axelmetoderna, även kallade axlar. Några av axlarna utgör metoder i klasserna XElement och XDocument som returnerar IEnumerable<T> samlingar. Några av axlarna är tilläggsmetoder i Extensions klassen. Axlarna som implementeras som tilläggsmetoder fungerar på samlingar och returnerar samlingar.
Som beskrivs i översikten över XElement-klassen representerar ett XElement objekt en enda elementnod. Innehållet i ett element kan vara komplext (kallas ibland strukturerat innehåll), eller så kan det vara ett enkelt element. Ett enkelt element kan vara tomt eller innehålla ett värde. Om noden innehåller strukturerat innehåll kan du använda de olika axelmetoderna för att hämta uppräkningar av underordnade element. De vanligaste axelmetoderna är Elements och Descendants.
Förutom axelmetoderna, som returnerar samlingar, finns det ytterligare två metoder som du ofta använder i LINQ till XML-frågor. Metoden Element returnerar en enda XElement. Metoden Attribute returnerar en enda XAttribute.
I många syften är LINQ-frågor det mest kraftfulla sättet att undersöka ett träd, extrahera data från det och transformera det. LINQ-frågor fungerar på objekt som implementerar IEnumerable<T>, och axlarna i LINQ till XML returnerar IEnumerable<T> av XElement-samlingar och IEnumerable<T> av XAttribute-samlingar. Du behöver dessa samlingar för att kunna göra dina frågor.
Förutom axelmetoderna som hämtar samlingar av element och attribut finns det axelmetoder som gör att du kan iterera genom trädet i detalj. I stället för att hantera element och attribut kan du till exempel arbeta med noderna i trädet. Noder är en finare nivå av kornighet än element och attribut. När du arbetar med noder kan du granska XML-kommentarer, textnoder, bearbetningsinstruktioner med mera. Den här funktionen är till exempel viktig för någon som skriver en ordbehandlare och vill spara dokument som XML. De flesta XML-programmerare handlar dock främst om element, attribut och deras värden.
Metoder för att hämta en samling element
Följande är en sammanfattning av metoderna för XElement-klassen (eller dess basklasser) som du anropar på en XElement för att returnera en samling element.
| Metod | Beskrivning |
|---|---|
| XNode.Ancestors | Returnerar en IEnumerable<T> av XElement av de överordnade element som finns i det här elementet. En överbelastning returnerar en IEnumerable<T> av XElement förfäderna som har specificerat XName. |
| XContainer.Descendants | Returnerar en IEnumerable<T> av XElement underordnade elementet. En överlagring returnerar en IEnumerable<T> av XElement de underordnade som har den angivna XName. |
| XContainer.Elements | Returnerar en IEnumerable<T> av XElement de underordnade elementen i det här elementet. En överbelastning returnerar en IEnumerable<T> av XElement av de underordnade element som har det angivna XName. |
| XNode.ElementsAfterSelf | Returnerar en IEnumerable<T> av XElement av elementen som kommer efter det här elementet. En överbelastning returnerar en IEnumerable<T> av XElement av elementen efter detta element som har den specificerade XName. |
| XNode.ElementsBeforeSelf | Returnerar en IEnumerable<T> av XElement för de element som kommer före det här elementet. En överlagring returnerar en IEnumerable<T> av XElement elementen före det här elementet som har angivet XName. |
| XElement.AncestorsAndSelf | Returnerar ett IEnumerable<T> av XElement av det här elementet och dess överordnade element. En överbelastning returnerar en IEnumerable<T> av XElement för de element som har den angivna XName. |
| XElement.DescendantsAndSelf | Returnerar ett IEnumerable<T> av XElement för det här elementet och dess underordnade element. En överbelastning returnerar en IEnumerable<T> av XElement för de element som har den angivna XName. |
Metod för att hämta ett enda element
Den följande metoden hämtar ett enstaka barn från ett XElement-objekt.
| Metod | Beskrivning |
|---|---|
| XContainer.Element | Returnerar det första underordnade XElement objektet som har det specificerade XName. |
Metod för att hämta en samling attribut
Följande metod hämtar attribut från ett XElement objekt.
| Metod | Beskrivning |
|---|---|
| XElement.Attributes | Returnerar en IEnumerable<T> av XAttribute för alla attribut. |
Metod för att hämta ett enda attribut
Följande metod hämtar ett enda attribut från ett XElement objekt.
| Metod | Beskrivning |
|---|---|
| XElement.Attribute | Returnerar XAttribute som har den angivna XName. |