XElement-osztály áttekintése

Az XElement osztály a LINQ–XML egyik alapvető osztálya. Xml-elemet jelöl. Az alábbi listában láthatja, hogy mire használhatja ezt az osztályt:

  • Elemek létrehozása.
  • Az elem tartalmának módosítása.
  • Gyermekelemek hozzáadása, módosítása vagy törlése.
  • Attribútumok hozzáadása egy elemhez.
  • Elem tartalmának szerializálása szöveges formában.

Ön más osztályokkal is együttműködhet a System.Xml-ban, mint például XmlReader, XmlWriter és XslCompiledTransform.

Ez a cikk az osztály által XElement biztosított funkciókat ismerteti.

XML-fák létrehozása

Az XML-fákat többféleképpen is létrehozhatja, többek között az alábbiakat:

  • Xml-fát kódban is létrehozhat. További információ: XML-fák.
  • Az XML-fájlokat különböző forrásokból elemezheti, például egy TextReaderszövegfájlból vagy egy webcímből (URL-címből). További információt az XML elemzése című témakörben talál.
  • Használhat egy XmlReader a fa kitöltéséhez. További információért lásd ReadFrom.
  • Ha rendelkezik olyan modullal, amely tartalmat tud írni egy XmlWriter-ba, a CreateWriter metódussal létrehozhat egy írót, átadhatja az írót a modulnak, majd az így a XmlWriter-be írt tartalmat felhasználhatja az XML-fa kitöltésére.

Az alábbi példa létrehoz egy fát. A C#-verzió beágyazott elemlétrehozásokat használ. Ugyanezt a módszert használhatja a Visual Basicben is, de ez a példa XML-literálokat használ.

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>

AZ XML-fa kitöltéséhez LINQ-lekérdezést is használhat, ahogy az alábbi példában is látható:

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)

Ez a példa a következő kimenetet hozza létre:

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

XML-fák szerializálása

Az XML-fát szerializálhatja egy File, egy TextWriter, vagy egy XmlWriter.

További információ: XML-fák szerializálása.

XML-adatok lekérése axis metódusokkal

Tengelymetókkal lekérheti az attribútumokat, a gyermekelemeket, a leszármazott elemeket és az őselemeket. A LINQ–XML-lekérdezések tengelymetónikon működnek, és számos rugalmas és hatékony módszert kínálnak az XML-fa végigjárásához és feldolgozásához.

További információ: LINQ–XML tengelyek áttekintése.

XML-fák lekérdezése

A LINQ-t xml-lekérdezésekbe is írhat, amelyek adatokat nyernek ki egy XML-fából.

További információkért tekintse meg az XML-fák lekérdezésének áttekintését.

XML-fák módosítása

Az elemeket különböző módokon módosíthatja, például módosíthatja annak tartalmát vagy attribútumait. Az elemeket a szülőelemből is eltávolíthatja.

További információ: XML-fák módosítása.

Lásd még