我可以选择将数据作为 XML 文档或多表 ADO 数据集存储在内存中。使用此对象的网页将根据键有选择地检索数据项。
这些对象中的任何一个都比另一个具有明显的性能优势吗?
如果您决定走 XML 路线并且使用 .NET 3.5,请考虑查看 System.Xml.Linq 命名空间中的新 XDocument、XElement(和朋友)类。您可以使用 Linq to XML 来查询您的 XML 文档,它相当不错。
DataSet 在某种程度上已经是一个 XML 文档。使用数据集获得的额外好处之一是表之间的关系,因此您实际上可以将 DataSet 作为内存数据库进行查询。
XML 确实很好,尤其是在某些情况下,但要搜索大量数据。
如果它是基于与其他表无关的键的项目,则使用 XML,但要小心大型数据子集。
按照 Saif 的说法,您对 XML 的最大挑战是将密钥从一个文档关联到另一个文档。您可以为文档中的所有节点创建唯一键,但如果您有另一个结构相似的文档,因为文档是不同的,您可能会遇到不正确的冲突。换句话说,您必须通过临时合并文档或创建另一个将附加标识符连接到动态生成的键的方案来确保没有重叠。
根据您对 XPath 和 XLST 的熟悉程度,您可能希望使用 ADO 创建表和关系,因为这更直接。您可以对键进行分组,在 StackOverflow 上发帖的Jeni Tennison对这些方法有一个很好的系列。