如何使用 XML 和数据集
这些主题介绍数据集 (DataSet) 和 XMLDataDocument 对象之间的交互作用。XML 数据和关系数据。同一数据,两个视图。
XML 通常有关系结构(如书店里的小说)以及未组织起来的结构。这组主题介绍了这样一种概念,即集中存储数据并提供数据的不同视图,或作为 XML,或作为有关系的表、列和行。例如,数据非连续的存储可表示执行商业规则的中间层中的商业对象,可通过可扩展样式表语言转换 (XSLT) 将其数据作为 XML 提供给浏览器,在 Internet 上发送到另一个 Web 站点,或通过关系表提供给本地应用程序。然而,当数据被修改后,您可以在事务的基础上将该数据更新到数据库中。
数据集表示内存中的数据缓存,它是表和这些表之间的关系的集合。它实际上是本地缓存的数据库。它提供不连续的数据缓存(类似于消息),使您可以对数据块进行操作。数据集并不知道数据从何处而来。它可能来自文件、数据库连接或流。数据集提供所存储数据的关系视图。
XmlDataDocument 提供 XML API,以用于访问内存中的数据缓存,并支持读取和编写 XML。XmlDataDocument 是数据集识别对象。创建 XmlDataDocument 可隐式创建一个数据集(作为属性访问),该数据集提供 XML 数据的关系视图。这两个对象之间的共生关系为访问有关系的数据或作为 XML 的数据提供了功能强大的方法,而不管生成这些数据的机制是什么。
XmlDataDocument 和数据集的差别
这两个对象及其视图之间有许多不同之处。通过 XmlDataDocument 的 Load 方法加载的 XML 保留了完全的真实性,即保留了所有 XML 的结构,并且可通过 XML API 进行访问。而数据集的 ReadXml 方法只加载符合内部创建的映射(架构)的 XML。它不保留空白和元素排序,以及那些不符合关系映射的数据。因此,数据集不保留 XML 真实性。通过 XmlDataDocument 加载的、不符合数据集上的内部映射的数据也不能使用关系 API 进行查看。然而,可始终通过 XML API 查看关系数据。
数据集和 XmlDataDocument 都能保存数据。但是,它们保存数据的方式不同。数据集使用 WriteXml 方法可以保存通过关系映射的数据(即符合内部架构的 XML 数据,其元素根据关系架构进行排序)的标准化视图。XmlDataDocument 的 Save 方法与之不同,它保存完全真实的 XML 数据,即保存加载到 XmlDataDocument 中的所有 XML,包括空白和元素排序。