Overzicht van XElement-klassen

De XElement klasse is een van de fundamentele klassen in LINQ naar XML. Het vertegenwoordigt een XML-element. In de volgende lijst ziet u waarvoor u deze klasse kunt gebruiken:

  • Elementen maken.
  • Wijzig de inhoud van het element.
  • Subelementen toevoegen, wijzigen of verwijderen.
  • Kenmerken toevoegen aan een element.
  • Serialiseer de inhoud van een element in tekstvorm.

U kunt ook samenwerken met andere klassen in System.Xml, zoals XmlReader, XmlWriteren XslCompiledTransform.

In dit artikel wordt de functionaliteit van de XElement klasse beschreven.

XML-structuren maken

U kunt XML-structuren op verschillende manieren maken, waaronder de volgende:

  • U kunt een XML-structuur maken in code. Zie XML-structuren voor meer informatie.
  • U kunt XML uit verschillende bronnen parseren, waaronder een TextReadertekstbestand of een webadres (URL). Zie XML parseren voor meer informatie.
  • U kunt een XmlReader bestand gebruiken om de structuur te vullen. Zie ReadFrom voor meer informatie.
  • Als u een module hebt die inhoud naar een XmlWriter kan schrijven, kunt u de CreateWriter-methode gebruiken om een schrijver te maken, de schrijver door te geven aan de module en vervolgens de inhoud die naar de XmlWriter geschreven is, te gebruiken om de XML-boom te vullen.

In het volgende voorbeeld wordt een boom gemaakt. De C#-versie maakt gebruik van geneste elementcreaties. U kunt dezelfde techniek gebruiken in Visual Basic, maar in dit voorbeeld worden letterlijke XML-gegevens gebruikt.

XElement contacts =
    new XElement("Contacts",
        new XElement("Contact",
            new XElement("Name", "Patrick Hines"),
            new XElement("Phone", "206-555-0144"),
            new XElement("Address",
                new XElement("Street1", "123 Main St"),
                new XElement("City", "Mercer Island"),
                new XElement("State", "WA"),
                new XElement("Postal", "68042")
            )
        )
    );
Dim contacts As XElement = _
    <Contacts>
        <Contact>
            <Name>Patrick Hines</Name>
            <Phone>206-555-0144</Phone>
            <Address>
                <Street1>123 Main St</Street1>
                <City>Mercer Island</City>
                <State>WA</State>
                <Postal>68042</Postal>
            </Address>
        </Contact>
    </Contacts>

U kunt ook een LINQ-naar-XML-query gebruiken om een XML-structuur te vullen, zoals wordt weergegeven in het volgende voorbeeld:

XElement srcTree = new XElement("Root",
    new XElement("Element", 1),
    new XElement("Element", 2),
    new XElement("Element", 3),
    new XElement("Element", 4),
    new XElement("Element", 5)
);
XElement xmlTree = new XElement("Root",
    new XElement("Child", 1),
    new XElement("Child", 2),
    from el in srcTree.Elements()
    where (int)el > 2
    select el
);
Console.WriteLine(xmlTree);
Dim srcTree As XElement = _
    <Root>
        <Element>1</Element>
        <Element>2</Element>
        <Element>3</Element>
        <Element>4</Element>
        <Element>5</Element>
    </Root>
Dim xmlTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <%= From el In srcTree.Elements() _
            Where el.Value > 2 _
            Select el %>
    </Root>
Console.WriteLine(xmlTree)

In dit voorbeeld wordt de volgende uitvoer gegenereerd:

<Root>
  <Child>1</Child>
  <Child>2</Child>
  <Element>3</Element>
  <Element>4</Element>
  <Element>5</Element>
</Root>

XML-boomstructuren serialiseren

U kunt de XML-structuur serialiseren naar een File, een TextWriter, of een XmlWriter.

Zie XML-structuren serialiseren voor meer informatie.

XML-gegevens ophalen via asmethoden

U kunt asmethoden gebruiken om kenmerken, kindelementen, afstammelingselementen en voorouderelementen op te halen. LINQ naar XML-query's werken op asmethoden en bieden verschillende flexibele en krachtige manieren om door een XML-structuur te navigeren en te verwerken.

Zie het overzicht van LINQ naar XML-assen voor meer informatie.

XML-structuren opvragen

U kunt LINQ schrijven naar XML-query's waarmee gegevens uit een XML-structuur worden geëxtraheerd.

Zie overzicht van xml-structuren van query's voor meer informatie.

XML-structuren wijzigen

U kunt een element op verschillende manieren wijzigen, waaronder het wijzigen van de inhoud of kenmerken. U kunt ook een element verwijderen uit de ouder.

Zie XML-structuren wijzigen voor meer informatie.

Zie ook