Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La XElement classe è una delle classi fondamentali in LINQ to XML. Rappresenta un elemento XML. L'elenco seguente mostra cosa è possibile usare questa classe per:
- Creare elementi.
- Modificare il contenuto dell'elemento.
- Aggiungere, modificare o eliminare elementi figli.
- Aggiungere attributi a un elemento.
- Serializzare il contenuto di un elemento in formato testo.
È anche possibile interagire con altre classi in System.Xml, ad esempio XmlReader, XmlWritere XslCompiledTransform.
Questo articolo descrive le funzionalità fornite dalla XElement classe .
Costruire alberi XML
È possibile costruire alberi XML in modi diversi, inclusi i seguenti:
- È possibile costruire un albero XML nel codice. Per altre informazioni, vedere Alberi XML.
- È possibile analizzare il codice XML da varie origini, tra cui file TextReaderdi testo o un indirizzo Web (URL). Per altre informazioni, vedere Analizzare XML.
- È possibile usare un oggetto XmlReader per popolare l'albero. Per altre informazioni, vedere ReadFrom.
- Se si dispone di un modulo in grado di scrivere contenuto in un XmlWriteroggetto , è possibile usare il CreateWriter metodo per creare un writer, passare il writer al modulo e quindi usare il contenuto scritto nell'oggetto XmlWriter per popolare l'albero XML.
Nell'esempio seguente viene creato un albero. La versione C# usa creazioni di elementi annidati. È possibile usare la stessa tecnica in Visual Basic, ma in questo esempio vengono utilizzati valori letterali 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>
È anche possibile usare una query LINQ to XML per popolare un albero XML, come illustrato nell'esempio seguente:
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 questo esempio viene generato l'output seguente:
<Root>
<Child>1</Child>
<Child>2</Child>
<Element>3</Element>
<Element>4</Element>
<Element>5</Element>
</Root>
Serializzare alberi XML
È possibile serializzare l'albero XML in un File, un TextWriter o un XmlWriter.
Per altre informazioni, vedere Serializzare alberi XML.
Recuperare dati XML tramite metodi di Axis
È possibile usare i metodi dell'asse per recuperare attributi, elementi figlio, elementi discendenti ed elementi predecessori. Le query LINQ to XML operano sui metodi dell'asse XML e offrono diversi modi flessibili e potenti per esplorare e analizzare un albero XML.
Per altre informazioni, vedere Panoramica degli assi LINQ to XML.
Eseguire query su alberi XML
È possibile scrivere query LINQ to XML che estraggono dati da un albero XML.
Per altre informazioni, vedere Panoramica degli alberi XML delle query.
Modificare alberi XML
È possibile modificare un elemento in modi diversi, inclusa la modifica del contenuto o degli attributi. È anche possibile rimuovere un elemento dal relativo elemento padre.
Per altre informazioni, vedere Modificare alberi XML.