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.