共用方式為


XElement 類別概觀

XElement 類別是 LINQ to XML 中的其中一個基本類別。 它代表 XML 項目。 您可以使用這個類別來建立項目;變更項目的內容;加入、變更或刪除子項目;將屬性加入到項目中;或以文字格式序列化項目的內容。 您也可以與 System.Xml 中的其他類別相互溝通,例如,XmlReaderXmlWriterXslCompiledTransform

XElement 功能

本主題描述 XElement 類別提供的功能。

建構 XML 樹狀結構

您可以用各種方式建構 XML 樹狀結構,包括:

  • 您可以在程式碼中建構 XML 樹狀結構。 如需詳細資訊,請參閱建立 XML 樹狀結構

  • 您可以剖析來自各種來源的 XML,包括 TextReader、文字檔或網路位址 (URL)。 如需詳細資訊,請參閱剖析 XML

  • 您可以使用 XmlReader 來填入樹狀結構。 如需詳細資訊,請參閱ReadFrom

  • 如果您擁有的模組可以將內容寫入到 XmlWriter,您可以使用 CreateWriter 方法來建立寫入器、將寫入器傳遞到模組,然後使用寫入到 XmlWriter 的內容填入 XML 樹狀結構。

不過,建立 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>

建立 XML 樹狀結構的另一個非常常見的技術包含使用 LINQ 查詢的結果填入 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 查詢會在座標軸方法上操作,而且會提供數種具彈性而且功能強大的方式,導覽並處理 XML 樹狀結構。

如需詳細資訊,請參閱LINQ to XML 座標軸

查詢 XML 樹狀結構

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

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

修改 XML 樹狀結構

您可以用各種方式修改項目,包括變更其內容或屬性。 您也可以從其父代移除項目。

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

請參閱

概念

LINQ to XML 程式設計概觀