函数编程与过程编程(LINQ to XML)

有各种类型的 XML 应用程序:

  • 某些应用程序采用源 XML 文档,并生成与源文档不同的形状的新 XML 文档。
  • 某些应用程序采用源 XML 文档,并生成格式完全不同的文档,例如 HTML 或 CSV 文本文件。
  • 某些应用程序采用源 XML 文档,并将记录插入数据库中。
  • 某些应用程序从另一个源(如数据库)获取数据,并从中创建 XML 文档。

这些不是所有 XML 应用程序类型,但这些是 XML 程序员必须实现的一组具有代表性的功能类型。

使用所有这些类型的应用程序,开发人员可以采用两种对比方法:

  • 使用声明性方法进行功能构造。
  • 使用过程代码修改内存中 XML 树。

LINQ to XML 支持这两种方法。

使用函数方法时,编写可采用源文档并生成具有所需形状的全新结果文档的转换。

就地修改 XML 树时,可以编写代码来遍历和浏览内存中 XML 树中的节点,根据需要插入、删除和修改节点。

可以将 LINQ to XML 与任一方法配合使用。 使用相同的类,在某些情况下使用相同的方法。 但是,这两种方法的结构和目标不同。 例如,在不同情况下,一种或另一种方法通常具有更好的性能,并且使用更多或更少的内存。 此外,一种或另一种方法更易于编写并生成更易于维护的代码。

若要查看两种方法的对比,请参阅 内存中 XML 树修改与功能构造

有关编写功能转换的教程,请参阅 纯功能转换简介