XElement 類別概觀

類別 XElement 是 LINQ to XML 中的其中一個基本類別。 它代表 XML 項目。 下列清單顯示您可以使用此類別的內容:

  • 建立專案。
  • 變更專案的內容。
  • 新增、變更或刪除子專案。
  • 將屬性新增至專案。
  • 以文字形式序列化專案的內容。

您也可以與 System.Xml 中的其他類別相互溝通,例如,XmlReaderXmlWriterXslCompiledTransform

本文說明 類別所提供的 XElement 功能。

建構 XML 樹狀結構

您可以以不同方式建構 XML 樹狀結構,包括下列各項:

  • 您可以在程式碼中建構 XML 樹狀結構。 如需詳細資訊,請參閱 XML 樹狀結構
  • 您可以剖析來自各種來源的 XML,包括 TextReader、文字檔或網路位址 (URL)。 如需詳細資訊,請參閱 剖析 XML
  • 您可以使用 XmlReader 來填入樹狀結構。 如需詳細資訊,請參閱ReadFrom
  • 如果您有可將內容 XmlWriter 寫入 的模組,您可以使用 CreateWriter 方法來建立寫入器、將寫入器傳遞至模組,然後使用寫入至 XmlWriter 的內容填入 XML 樹狀結構。

下列範例會建立樹狀結構。 C# 版本使用巢狀專案建立。 您可以在Visual Basic使用相同的技術,但此範例使用 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>

您也可以使用LINQ to XML查詢來填入 XML 樹狀結構,如下列範例所示:

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)

這個範例會產生下列輸出:

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

序列化 XML 樹狀結構

您可以將 XML 樹狀結構序列化至 FileTextWriterXmlWriter

如需詳細資訊,請參閱 序列化 XML 樹狀結構

透過軸方法擷取 XML 資料

您可以使用座標軸方法來擷取屬性、子項目、子系項目以及祖系項目。 LINQ to XML查詢會在座標軸方法上運作,並提供數種彈性且功能強大的方式來巡覽及處理 XML 樹狀結構。

如需詳細資訊,請參閱LINQ to XML軸概觀

查詢 XML 樹狀結構

您可以撰寫LINQ to XML查詢,以從 XML 樹狀結構擷取資料。

如需詳細資訊,請參閱 查詢 XML 樹狀架構概觀

修改 XML 樹狀結構

您可以透過不同的方式修改專案,包括變更其內容或屬性。 您也可以從其父代移除項目。

如需詳細資訊,請參閱 修改 XML 樹狀結構

另請參閱