Vue d’ensemble de la classe XElement

La classe XElement correspond à l'une des classes fondamentales dans LINQ to XML. Elle représente un élément XML. La liste suivante indique les utilisations possibles de cette classe :

  • Créer des éléments.
  • Modifier le contenu de l’élément.
  • Ajouter, modifier ou supprimer des éléments enfants.
  • Ajouter des attributs à chaque élément.
  • Sérialiser le contenu d’un élément sous forme de texte.

Vous pouvez également interagir avec d'autres classes dans System.Xml, telles que XmlReader, XmlWriter et XslCompiledTransform.

Cet article décrit la fonctionnalité fournie par la classe XElement.

Construire des arborescences XML

Vous pouvez construire des arborescences XML de diverses manières, notamment ainsi :

  • Vous pouvez construire une arborescence XML dans du code. Pour plus d’informations, consultez Arborescence XML.
  • Vous pouvez analyser du code XML de diverses sources, y compris un objet TextReader, des fichiers texte ou une adresse Web (URL). Pour plus d’informations, consultez l’article Analyser XML.
  • Vous pouvez utiliser un objet XmlReader pour remplir l'arborescence. Pour plus d'informations, consultez ReadFrom.
  • Si vous avez un module pouvant écrire du contenu dans un objet XmlWriter, vous pouvez utiliser la méthode CreateWriter pour créer un writer, passer ce dernier au module, puis utiliser le contenu écrit dans l'objet XmlWriter pour remplir l'arborescence XML.

L'exemple suivant illustre la création d'une arborescence. La version C# utilise des créations d’éléments imbriqués. Vous pouvez utiliser la même technique dans Visual Basic, mais cet exemple utilise des littéraux 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>

Vous pouvez également utiliser une requête LINQ to XML pour remplir une arborescence XML, comme illustré dans l’exemple suivant :

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)

Cet exemple produit la sortie suivante :

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

Sérialiser les arborescences XML

Vous pouvez sérialiser l'arborescence XML vers un objet File, TextWriter ou XmlWriter.

Pour plus d’informations, consultez Sérialiser les arborescences XML.

Récupérer des données XML par le biais de méthodes d'axe

Vous pouvez utiliser des méthodes d'axe pour récupérer des attributs, des éléments enfants, des éléments descendants et des éléments ancêtres. Les requêtes LINQ to XML opèrent sur les méthodes d'axe et offrent plusieurs moyens flexibles et performants de parcourir et traiter une arborescence XML.

Pour plus d’informations, consultez Vue d’ensemble des axes LINQ to XML.

Interroger des arborescences XML

Vous pouvez écrire des requêtes LINQ to XML extrayant des données d’une arborescence XML.

Pour plus d’informations, consultez Vue d’ensemble de la requête des arborescences XML.

Modifier des arborescences XML

Vous pouvez modifier un élément de différentes manières, y compris modifier son contenu ou ses attributs. Vous pouvez également supprimer un élément de son parent.

Pour plus d’informations, consultez Modifier les arborescences XML.

Voir aussi