Přehled třídy XElement

Třída XElement je jednou ze základních tříd v LINQ to XML. Představuje element XML. Následující seznam ukazuje, k čemu můžete tuto třídu použít:

  • Vytvoření elementů
  • Změňte obsah elementu.
  • Přidání, změna nebo odstranění podřízených prvků
  • Přidejte atributy do elementu.
  • Serializovat obsah prvku v textovém formuláři.

Můžete také spolupracovat s dalšími třídami, System.Xmljako XmlReaderjsou , XmlWritera XslCompiledTransform.

Tento článek popisuje funkce poskytované XElement třídou.

Vytváření stromů XML

Stromy XML můžete vytvářet různými způsoby, včetně následujících:

  • Strom XML můžete vytvořit v kódu. Další informace najdete v tématu Stromy XML.
  • Xml můžete analyzovat z různých zdrojů, včetně textových TextReadersouborů nebo webové adresy (URL). Další informace naleznete v tématu Parsování XML.
  • Strom můžete naplnit pomocí XmlReader náplně. Další informace najdete na webu ReadFrom.
  • Pokud máte modul, který může psát obsah do objektu XmlWriter, můžete použít CreateWriter metodu k vytvoření zapisovače, předat zapisovač modulu a pak použít obsah, který je zapsán do XmlWriter stromu XML.

Následující příklad vytvoří strom. Verze jazyka C# používá vnořené vytváření elementů. Stejný postup můžete použít v jazyce Visual Basic, ale v tomto příkladu se používají literály XML.

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>

K naplnění stromu XML můžete použít také dotaz LINQ to XML, jak je znázorněno v následujícím příkladu:

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)

Tento příklad vytvoří následující výstup:

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

Serializace stromů XML

Strom XML lze serializovat na File, a TextWriter, nebo XmlWriter.

Další informace naleznete v tématu Serializace stromů XML.

Načtení dat XML prostřednictvím metod osy

Pomocí metod osy můžete načíst atributy, podřízené prvky, potomky a nadřazené prvky. Dotazy LINQ to XML fungují na metodách osy a poskytují několik flexibilních a výkonných způsobů, jak procházet a zpracovávat strom XML.

Další informace najdete v přehledu os LINQ to XML.

Dotazování na stromy XML

Můžete napsat dotazy LINQ to XML, které extrahují data ze stromu XML.

Další informace naleznete v tématu Dotazování na stromy XML přehled.

Úpravy stromů XML

Prvek můžete upravit různými způsoby, včetně změny jeho obsahu nebo atributů. Prvek můžete také odebrat z nadřazeného objektu.

Další informace naleznete v tématu Úprava stromů XML.

Viz také