有各种类型的 XML 应用程序:
- 某些应用程序采用源 XML 文档,并生成与源文档不同的形状的新 XML 文档。
- 某些应用程序采用源 XML 文档,并生成格式完全不同的文档,例如 HTML 或 CSV 文本文件。
- 某些应用程序采用源 XML 文档,并将记录插入数据库中。
- 某些应用程序从另一个源(如数据库)获取数据,并从中创建 XML 文档。
这些不是所有 XML 应用程序类型,但这些是 XML 程序员必须实现的一组具有代表性的功能类型。
使用所有这些类型的应用程序,开发人员可以采用两种对比方法:
- 使用声明性方法进行功能构造。
- 使用过程代码修改内存中 XML 树。
LINQ to XML 支持这两种方法。
使用函数方法时,编写可采用源文档并生成具有所需形状的全新结果文档的转换。
就地修改 XML 树时,可以编写代码来遍历和浏览内存中 XML 树中的节点,根据需要插入、删除和修改节点。
可以将 LINQ to XML 与任一方法配合使用。 使用相同的类,在某些情况下使用相同的方法。 但是,这两种方法的结构和目标不同。 例如,在不同情况下,一种或另一种方法通常具有更好的性能,并且使用更多或更少的内存。 此外,一种或另一种方法更易于编写并生成更易于维护的代码。
若要查看两种方法的对比,请参阅 内存中 XML 树修改与功能构造。
有关编写功能转换的教程,请参阅 纯功能转换简介。