Partager via


Vue d'ensemble de la classe XElement

La classe XElement est l'une des classes fondamentales dans LINQ to XML. Elle représente un élément XML. Vous pouvez utiliser cette classe pour créer des éléments, modifier le contenu de l'élément, ajouter, modifier ou supprimer des éléments enfants, ajouter des attributs à un élément ou sérialiser le contenu d'un élément sous forme textuelle. Vous pouvez également interagir avec d'autres classes dans System.Xml, telles que XmlReader, XmlWriter et XslCompiledTransform.

Fonctionnalité de XElement

Cette rubrique décrit la fonctionnalité fournie par la classe XElement.

Construction d'arborescences XML

Vous pouvez construire des arborescences XML de diverses façons, notamment les suivantes :

  • Vous pouvez construire une arborescence XML dans du code. Pour plus d'informations, consultez Création d'arborescences 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 Analyse de code XML.

  • Vous pouvez utiliser un objet XmlReader pour remplir l'arborescence. Pour plus d'informations, consultez ReadFrom.

  • Si vous avez un module qui peut é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.

Toutefois, la manière la plus courante de créer une arborescence XML est la suivante :

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>

Une autre technique de création d'arborescence XML très courante consiste à utiliser les résultats d'une requête LINQ 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érialisation d'arborescences XML

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

Pour plus d'informations, consultez Sérialisation d'arborescences XML.

Récupération de 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 opèrent sur les méthodes d'axe et offrent plusieurs moyens flexibles et puissants de parcourir et de traiter une arborescence XML.

Pour plus d'informations, consultez Axes LINQ to XML.

Interrogation d'arborescences XML

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

Pour plus d'informations, consultez Interrogation d'arborescences XML.

Modification d'arborescences XML

Vous pouvez modifier un élément de différentes façons, y compris modifier son contenu ou ses attributs. Vous pouvez également supprimer un élément de son parent.

Pour plus d'informations, consultez Modification d'arborescences XML (LINQ to XML).

Voir aussi

Concepts

Vue d'ensemble de la programmation LINQ to XML