XML入门的常见问题(一)
作者:AngelGavin 出处:CSDN
一般问题
什么是 XML?
可扩展标记语言 (XML) 是 Web 上的数据通用语言。它使开发人员能够将结构化数据,从许多不同的应用程序传递到桌面,进行本地计算和演示。XML 允许为特定应用程序创建唯一的数据格式。它还是在服务器之间传输结构化数据的理想格式。
什么是 MSXML?
MSXML 是提供核心 XML 服务的 Microsoft 软件组件。
Microsoft XML 分析器能够做什么?
最新版本的 Microsoft 核心 XML 服务提供下面四种不同的功能。
基于文档对象模型 (DOM) 的分析器,它能够获取文本流(能够转换到 XML 的文件、程序中的字符串或者任何其他文本)并将它转换为能够编程处理的可导航 XML 树结构。
SAX(Simple API for XML)分析器,它针对处理大型文档和高吞吐量的情况进行了优化的。SAX 是基于事件的分析器,它读取文档并将分析事件(例如元素的开始和结尾)直接报告给应用程序。用户创建的应用程序实现了处理不同事件的处理程序,这非常类似于处理图形用户界面 (GUI) 中的事件。
XSLT 处理器读取 XSLT 文件,并将可扩展样式表转换语言 (XSLT) 文件的指令应用到 XML 文件,以产生某些类型的输出。除了创建 XML结构之外,XSLT 处理器还可以在得到的 XSLT 过滤器上执行一定量的优化,另外,从技术的角度看,它更像是一种编译器。
验证分析器读取文档类型定义 (DTD) 或者 XML 架构,然后检验实际得到的文档的格式是否正确,以及是否不包含与架构冲突的数据。请注意,仅对架构而言,验证架构将返回架构本身作为对象,可以在以后在 HTML 列表框中创建选项时引用这个对象。
所有四种功能都包含在同一 MSXML 库软件包中,它可以从 MSDN XML 开发人员中心(英文)免费得到。
MSXML、MSXML2 和 MSXML3 之间的区别是什么?
在过去三年中 XML 经历了许多反复,所以目前存在不同版本的 Microsoft XML 分析器也不奇怪。Internet Explorer 4.0 包含早期版本的 XML 分析器,它比 XSL、XML 数据或者大多数其他的 XML 技术(并且有完全不同的 DOM 模型)要早。该早期版本的分析器包含在 MSXML.dll 库中。从 MSDN XML 开发人员中心(英文)可将分析器升级到较新的一种。
我们极力建议您升级到新的分析器,因为它要强大得多。Internet Explorer 5.0 包括 MSXML 2.0 分析器,它包含 XSL 和 XML 架构的基本版本。MSXML2 是 SQL Server 2000 附带的分析器版本。MSXML2 包含了许多性能增强的功能,并且在总体上提高了性能和可伸缩性。MSXML3 是当前作为“技术预览”附带的版本。MSXML3 包括 XSLT 和 XPath 支持以及 SAX 接口。
XML 可以代替 HTML 吗?
XML 比 HTML 提供更大的灵活性,但是它不可能很快代替 HTML。实际上,XML 和 HTML 能够很好地在一起工作。Microsoft 希望许多作者和开发人员都能同时使用 XML 和 HTML,比如用 XSLT 来生成 HTML。
在 HTML 中增加 XML 的好处是什么?
在 Web 上使用 XML 的好处有:
它提供用于本地计算的数据。传递到桌面的数据可以进行本地计算。XML 分析器可以读取数据,并将它递交给本地应用程序(例如浏览器)进一步查看或处理。数据也可以由使用 XML 对象模型的脚本或其他编程语言来处理。
向用户提供正确的结构化数据视图。传递到桌面的数据可以以多种方式表示。本地数据集,可以根据用户喜好和配置等因素,以适当的形式,在视图中动态表现给用户。
允许集成不同来源的结构化数据。一般情况下,使用代理,在中间层服务器上集成来自后端数据库和其他应用程序的数据,使该数据能够传递给桌面或者其他服务器,做进一步聚合、处理和分布。
描述来自多种应用程序的数据。由于 XML 是可扩展的,因此它可以用于描述来自多种应用程序的数据,从描述 Web 页面集合到数据记录。由于数据是自描述的,因此不需要数据的内置描述,也能够接收和处理数据。
通过粒度更新来提高性能。XML 允许粒度更新。开发人员不必在每次有改动时都发送整个结构化数据集。有了粒度更新后,只有改变的元素才必须从服务器发送到客户机。改变的数据可以在不必刷新整个页面或表的情况下显示。
XML 只适用于核心开发人员吗?
不。和 HTML 文档一样,XML 文档可以由任何人创建 — 甚至是没有任何编程经验的人。XML 仅仅是一种描述信息的标准方式。此外,它还是一种语言,可以在没有任何软件的情况下用它来编写。您可以在文本编辑器中编写 XML 文档,并且直接放入 Web 站点,不需要编写传统方式下的任何代码。
开始使用 XML 时需要什么?
要使用 XML,您需要能够读取 XMl 文档的 XML 分析器,并且使它的内容能被处理。Microsoft 提供了一种分析器,可以从 MSDN XML 开发人员中心(英文)下载。
要使用 XML 文档,可以使用文本编辑器(例如记事本)或任何其他可以用于创建 HTML 页面的编辑器。要创建完整形式的 XML 应用程序,请使用诸如 Microsoft? Visual Studio? 的编程环境。
有如何使用 XML 的实际例子吗?
XML 正在数量惊人的应用程序中使用,范围从 Web 站点创建和文档化到数据库集成和分布式编程。在下面几个领域中,XML 有其用武之地:
业务对业务的传输。业务数据(发票、购买定单、会计和税务信息等等)是以 XML 格式在厂商之间电子传输的。与旧的电子数据交换 (EDI) 格式相比,XML 提供了许多优点,而不仅仅是可以在传输中从一种发票格式转换到另一种。
分布式编程。XML 是非常理想的复杂多平台应用程序构造方案,这样就使得 Windows 服务器和其他操作系统的集成成为可能。
Web 站点体系结构。由于 XML 的层次结构和分布式特性,Web 站点开发人员在他们 Web 站点的总体体系结构和导航结构中越来越多地使用它。此外,越来越多的目录表和索引表、跟踪用户信息及 Web 站点状态的 XML 结构、基于 HTML 的组件和处理数据流的渠道,都用 XML 和 XSLT 编写。
数据库操作。XML 正成为与数据库交互的流行工具 — 无论从 SQL 查询中检索 XML 数据集,还是用 XML 记录更新数据库。而且我们还有分离实现的优点。通过将数据压缩为 SML,就不需要对实际的数据库结构有任何了解。
文档管理。目前的大多数公司都陷在文书工作的海洋里,而且会越来越糟。XML 正在越来越多地用于将文档编码成 XML,使文档更易于检索或提供链接到文档的注释上下文,以便更有效地进行参考。
我可以忽略 XML 吗?
如果您想在 Internet 世界中竞争的话,那就不可以忽略 XML。XML 是导致以我们考虑编程本身的方式进行模式转移的一种语言。传统的专用客户机/服务器应用程序,正在给“随时随地访问”的 Internet 服务让位,XML 是处理任何事情(从数据访问处理到在该新环境中表现数据)的逻辑媒体。
Microsoft Internet Explorer 4.0 支持 XML 吗?
是的。Internet Explorer 4.0 支持 XML 下列功能:
通用的 XML 分析器,它读取 XML 文件并将它们传递到应用程序(例如查看器)进行处理。应用程序开发人员可以使用 Microsoft 的两个分析器:C++ 中的 Microsoft XML 分析和 Java 中的 Microsoft XML 分析器。
XML 对象模型 (XML OM) 使用 World Wide Web Consortium (W3C) 标准文档对象模型 (DOM) 允许程序通过 XML 分析器访问结构化数据,使开发人员拥有交互和计算数据的能力。有关详细信息,请参见 DOM 规范(英文) 。
XML 数据源对象 (XML DSO) 允许开发人员连接到结构化 XML 数据,并用动态 HTML 的数据绑定机制将它提供给 HTML 页面。