访问XML数据的三中基于树模型基于游标流式API比较
除了可以表示结构化和半结构化的数据之外,XML 还有许多其他特性,使其成为一种被广泛采用的数据表示格式。XML 是可扩展的,与平台无关的,并且由于其完全采用 Unicode 而支持国际化。XML 是基于文本的格式,因此,用户可以根据需要使用标准的文本编辑工具读取和编辑 XML 文档。XML 的可扩展性表现在多个方面。首先,与 HTML 不同,XML 没有固定的词汇表。相反,用户可以使用 XML 定义特定的应用程序或行业专用的词汇表。其次,与使用其他格式的应用程序相比,处理或使用 XML 格式的应用程序对 XML 结构的更改更具“抵抗力”,只要这些更改是附加的。例如,如果某个应用程序主要处理具有
在交换文档的过程中,XML 架构可以描述 XML 生成程序与使用程序之间的约定,因为它描述了这二者之间的有效 XML 消息的组成。虽然存在大量用于 XML 的架构语言,从 DTD 到 XDR,但目前最权威的是 W3C XML 架构定义语言,通常简称为 XSD。
XSD 在 XML 架构语言中是独一无二的,因为它最先尝试扩展 XML 架构的作用,使之不再局限于仅用来描述两个实体交换文档时的约定。XSD 引入了“后架构验证信息集 (Post Schema Validation Infoset,PSVI)”的概念。一个完整的 XSD 处理器接受 XML 信息集作为输入,并在验证时将其转换为后架构验证信息集 (PSVI)。PSVI 是初始的输入 XML 信息集,带有添加的新信息项和添加到现有信息项中的新属性。W3C XML Schema 推荐列出了后架构验证的信息集的组成要素。
类型注释是 PSVI 组成要素中很重要的一类。元素和属性需进行严格的类型定义,并具有与之相关的数据类型信息。经过严格类型定义的 XML 有很多用途,可以使用 .NET Framework 的 XmlSerializer 等技术将其映射到对象,可以使用 SQLXML 和 .NET Framework 的 DataSet 技术将其映射到关系表格,或者使用利用了严格类型机制的 XML 查询语言,如 XPath 2.0 和 XQuery 对其进行处理。
以下示例是一个架构片段,描述了 XML 文档剖析 一节中示例文档的
补充:asp.net教程,XML应用