功能性與程序式程式設計 (LINQ to XML)

XML 應用程式有很多種:

  • 有些應用程式會採用 XML 來源文件,然後以不同於來源文件的組織結構產生新的 XML 文件。
  • 有些應用程式會採用 XML 來源文件,然後以完全不同的形式 (例如,HTML 或 CSV 文字檔),產生結果文件。
  • 有些應用程式會採用 XML 來源文件,然後將記錄插入到資料庫中。
  • 有些應用程式會從其他來源 (例如,資料庫) 取得資料,然後從其中建立 XML 文件。

這些並非所有類型的 XML 應用程式,但是這些是 XML 程式設計人員必須實作的一組代表性的功能類型。

利用所有這些應用程式類型,開發人員可以採用兩種明顯不同的方法:

  • 使用宣告式方法的功能結構。
  • 使用程序性程式碼進行記憶體中 XML 樹狀結構修改。

LINQ to XML 同時支援這兩種方法。

使用功能性方法時,您可以撰寫採用來源文件的轉換,然後利用所需的組織結構產生全新的結果文件。

就地修改 XML 樹狀結構時,您可以撰寫可在記憶體中 XML 樹狀結構內周遊與導覽程式碼的程式碼,藉以在必要時插入、刪除與修改程式碼。

您可以搭配任一種方法使用 LINQ to XML。 您可以使用相同的類別,在某些情況下,也可以使用相同的方法。 但是,兩種方法的結構與目標差異相當大。 例如,在不同的情況下,其中一種方法的效能通常會比較好,而且或多或少會使用到記憶體。 此外,其中一種方法會比較容易撰寫,並產生較容易維護的程式碼。

若要查看這兩種對照方法,請參閱記憶體內 XML 樹狀結構修改與功能性建構

如需撰寫功能性轉換的教學課程,請參閱純功能性轉換的介紹