Dela via


Översikt över LINQ till XML-axlar

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 ä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 LINQ-till XML-axlarnas retur IEnumerable<T> av XElement samlingar och XAttributeIEnumerable<T> samlingar. Du behöver dessa samlingar för att kunna kö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 för att XElement returnera en samling element.

Metod beskrivning
XNode.Ancestors Returnerar en IEnumerable<T> av XElement de överordnade elementen för det här elementet. En överlagring returnerar en IEnumerable<T> av XElement de överordnade objekt som har angiven 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 överlagring returnerar en IEnumerable<T> av XElement de underordnade element som har angivet XName.
XNode.ElementsAfterSelf Returnerar en IEnumerable<T> av XElement de element som kommer efter det här elementet. En överlagring returnerar en IEnumerable<T> av XElement elementen efter det här elementet som har angivet XName.
XNode.ElementsBeforeSelf Returnerar en IEnumerable<T> av XElement 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 det här elementet och dess överordnade element. En överlagring returnerar en IEnumerable<T> av XElement de element som har angiven XName.
XElement.DescendantsAndSelf Returnerar ett IEnumerable<T> av XElement det här elementet och dess underordnade element. En överlagring returnerar en IEnumerable<T> av XElement de element som har angiven XName.

Metod för att hämta ett enda element

Följande metod hämtar ett enda underordnat objekt från ett XElement objekt.

Metod beskrivning
XContainer.Element Returnerar det första underordnade XElement objektet som har angivet 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 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 som XAttribute har den angivna XName.