XML DOM编程的一个示例出错
发布网友
发布时间:2022-06-09 15:14
我来回答
共1个回答
热心网友
时间:2024-11-28 23:39
1. DOM与XML
DOM是Document Object Model的缩写,提供了与XML交互的标准编程模型:(1)提供了标准方法在程序中创建、遍历或者更新XML文档内容。(2)提供了一组核心的与供应商和语言无关的应用程序编程接口(API),可满足与XML交互的大部分需求。因此,DOM APIs成为应用程序和XML文档之间互通的桥梁。
W3C(World Wide Web Consortium)DOM Level 1规范定义了两组DOM编程接口:6U6Linux联盟
(1)基本接口:W3C基本接口定义了用来在应用程序中操纵XML文档的接口;6U6Linux联盟
(2)扩展接口:W3C扩展接口定义了一些方便开发者的接口。
所有XML处理程序必须支持Unicode字符编码的两种形式:UTF-8和UTF-16。XML Parser可以读取使用ISO-8859-1、Big-5或者Shift-JIS编码的文档,并在加载文档时将它们自动转换为Unicode。
如果XML文档使用的字符编码不是UTF-8(8-bit ASCII文本也是可接受的UTF-8)或者UTF-16,那么它必须在XML声明中提供字符编码声明,否则XML Parser可能会出错。当然,即使对字符编码进行了声明,Parser也可能不能够处理(不支持该编码),但能够正确地给出提示信息。(由于XML声明是使用基本的ASCII文本书写的,Parser能够正确地读出它的内容。)
2. MSXML 4.0简介
MSXML(Microsoft XML Core Services)是Microsoft提供的用于处理XML文档的COM库。MSXML DOM不仅实现了W3C DOM Level 1规范定义的基本接口和扩展接口,还提供了额外的方法来支持XSL Transformation(XSLT)、XPath、名字空间和数据类型。MSXML除了支持规范所要求的字符编码外,还支持更多的字符编码格式,而在内部使用Unicode UCS-2字符编码处理XML文档中的所有文本。
本文以Visual C++ 6.0为开发环境,介绍MSXML4.0 SDK中DOM的使用。另外,MSXML中的SAX也比较常用。
2.1. MSXML DOM
MSXML DOM是本文介绍的重点,它提供了丰富的接口方便在程序中操作XML文档。DOM在内存中提供了XML文档的完整表示,允许对整个文档内容的随机访问。 DOM允许应用程序依赖于MSXML Parser提供的逻辑结构来处理基于XML的信息。其工作流程和原理如下图所示(源自MSXML 4.0 SDK):
当MSXML Parser把一个XML文档加载.