Přehled třídy XElement

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

  • Vytvořte prvky.
  • Změňte obsah elementu.
  • Přidání, změna nebo odstranění podřízených elementů.
  • Přidejte atributy k elementu.
  • Serializace obsahu elementu v textové podobě.

Můžete také vzájemně spolupracovat s jinými třídami v, jako například System.Xml XmlReader , XmlWriter a XslCompiledTransform .

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

Konstrukce XML stromů

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

  • V kódu můžete vytvořit strom XML. Další informace najdete v tématu stromy XML.
  • Můžete analyzovat XML z různých zdrojů, včetně TextReader textových souborů nebo webové adresy (URL). Další informace najdete v tématu Analýza XML.
  • XmlReaderK naplnění stromu můžete použít. Další informace naleznete v tématu ReadFrom.
  • Máte-li modul, který může zapisovat obsah do XmlWriter , můžete použít CreateWriter metodu k vytvoření zapisovače, předat zapisovači modulu a pak použít obsah, který je zapsán do objektu XmlWriter k naplnění stromu XML.

Následující příklad vytvoří strom. Verze jazyka C# používá vytváření vnořených elementů. Stejný postup můžete použít v 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>

Můžete také použít LINQ to XML dotaz k naplnění stromu 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 do File , TextWriter nebo XmlWriter .

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

Načtení dat XML přes metody osy

Můžete použít metody osy k načtení atributů, podřízených prvků, následníků a nadřazených prvků. LINQ to XML dotazy 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 tématu Přehled os LINQ to XML.

Dotazy na stromy XML

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

Další informace najdete v tématu Přehled stromů dotazů XML.

Úprava stromů XML

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

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

Viz také