Partager via


Vue d’ensemble de la classe XElement

La XElement classe est l’une des classes fondamentales de LINQ to XML. Il représente un élément XML. La liste suivante montre ce pour quoi vous pouvez utiliser cette classe :

  • Créez des éléments.
  • Modifiez le contenu de l’élément.
  • Ajoutez, modifiez ou supprimez des éléments enfants.
  • Ajoutez des attributs à un élément.
  • Sérialisez le contenu d’un élément sous forme de texte.

Vous pouvez également interagir avec d’autres classes dans System.Xml, telles que XmlReader, XmlWriteret XslCompiledTransform.

Cet article décrit les fonctionnalités fournies par la XElement classe.

Construire des arborescences XML

Vous pouvez construire des arborescences XML de différentes façons, notamment les suivantes :

  • Vous pouvez construire une arborescence XML dans le code. Pour plus d’informations, consultez les arborescences XML.
  • Vous pouvez analyser du code XML à partir de différentes sources, y compris un TextReader, des fichiers texte ou une adresse Web (URL). Pour plus d’informations, consultez Analyse XML.
  • Vous pouvez utiliser un objet XmlReader pour remplir l'arborescence. Pour plus d’informations, consultez ReadFrom.
  • Si vous avez un module capable d’écrire du contenu dans un XmlWriter, vous pouvez utiliser la méthode CreateWriter pour créer un flux d'écriture, passer le flux au module, puis utiliser le contenu écrit dans l'arbre XML XmlWriter pour peupler l'arborescence.

L’exemple suivant crée une arborescence. La version C# utilise des créations d’éléments imbriquées. Vous pouvez utiliser la même technique en 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 génère la sortie suivante :

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

Sérialiser des arborescences XML

Vous pouvez sérialiser l’arborescence XML sur un File, un TextWriter, ou un XmlWriter.

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

Récupérer des données XML via des 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 fonctionnent sur des méthodes d’axe et fournissent plusieurs méthodes flexibles et puissantes pour parcourir et traiter une arborescence XML.

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

Interroger des arborescences XML

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

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

Modifier des arborescences XML

Vous pouvez modifier un élément de différentes façons, notamment en modifiant 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