Číst v angličtině

Sdílet prostřednictvím


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")
            )
        )
    );

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);

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é