昨日aimingoo说它测试xmldom的速度,发现载入一个wml的时候,费时不可思议的长,且用时不等。甚觉不解。故测之。
测试过程和书写代码略,就简述结论如下。
WML文件有DOCTYPE,上带有DTD声明。怀疑是去读取DTD文件所致。删除整个DOCTYPE声明,果然就好了。
但是程序每次删除DOCTYPE显然不可行,因为这样一个操作无法作为DOM操作(因为当时DOM尚未解析出来),而必须进行字符串处理,这样就不能直接load了。如此hack无论如何无法接受。
于是寻找正途,即msxml上的参数配置。经过狗狗,得到最终方案:
var xmldoc = new ActiveXObject('MSXML2.DOMDocument.3.0');
xmldoc.async = true;
xmldoc.onreadystatechange = xmlLoaded;
xmldoc.resolveExternals = false;
xmldoc.validateOnParse = false;
xmldoc.load('my.wml');
注意,resolveExternals和validateOnParse都需要设置。因为默认要启用validate,若禁用外部DTD的resolve,就无法validate了(除非有内部DTD),会出错(得不到xml dom对象)。
以上。
因印象中此问题以前似解决过,但现在又忘记了(早老痴呆矣),故记录于此。
又,aimingoo说其昨日狗狗半天未得其法,偶笑曰,吾之狗狗神功已经练至第七重也,尔功力尚不足矣。
分享到:
- 2007-11-07 18:17
- 浏览 3596
- 评论(0)
- 论坛回复 / 浏览 (0 / 2703)
- 查看更多
相关推荐
MSXML(Microsoft XML Core Services)是微软提供的一个解析XML文档的库,它允许开发者在Windows平台上使用多种编程语言(如JavaScript、VBScript、C++、C#等)来处理XML数据。 MSXML解析器提供了两种主要的解析...
在安全方面,6.0版本默认禁用了部分可能引发安全问题的功能,如DTD(Document Type Definition)解析,从而降低了潜在的攻击风险。尽管如此,6.0版本仍然保持了对基本XML处理的支持,包括DOM、SAX、XPath和XSLT。 ...
### msxml解析XML同名节点知识点详解 #### 一、MSXML简介 MSXML(Microsoft XML)是由微软公司开发的一套用于处理XML文档的技术。它提供了多种编程接口,包括COM接口,使得开发者能够轻松地在各种.NET框架之外的...
本实例将详细介绍如何利用Microsoft的MSXML库来解析XML文件。 MSXML,全称为Microsoft XML Core Services,是微软提供的一套用于处理XML文档的COM组件。它提供了多种接口,如IXMLDOMDocument,IXMLDOMNode等,供...
MSXML,全称为Microsoft XML Core Services,是由微软公司开发的一款XML解析器,它允许程序员和Web开发者处理、创建和查询XML文档。XML(eXtensible Markup Language)是一种标记语言,广泛用于数据交换、存储和表示...
MSXML,全称为Microsoft XML Core Services,是由微软提供的一个用于处理XML文档的API,它支持DOM(Document Object Model)和SAX(Simple API for XML)两种解析方式。C++是MSXML库支持的一种编程语言,使得开发者...
例如,MSXML4 引入了对 XML Schema 的支持,而 MSXML6 更加轻量级,专注于 DOM 解析,并提高了性能和安全性。 五、XML 的应用 XML 的广泛应用包括但不限于: 1. 数据交换:不同系统间通过 XML 格式交换数据,如 ...
MSXML(Microsoft XML Core Services)是微软公司提供的一套用于处理XML文档的API,它使得开发者能够在各种微软平台上解析、创建、操作以及显示XML数据。XML(eXtensible Markup Language)是一种标记语言,常用于...
在Windows环境中,DOM-MSXML(Microsoft XML Core Services)是一个常用的XML解析库,它提供了强大的功能来解析和操作XML文档。 DOM(Document Object Model)是一种标准的编程接口,用于处理XML和HTML文档。DOM将...
通过阅读"MSXML解析XML文档.doc"和"MSXML.doc"这两个文档,你将能够深入了解如何在实践中利用MSXML进行XML文档的处理,包括解析、查询、转换和验证等步骤,同时也能获取关于不同版本的MSXML特性和使用的详细信息。...
在VC++编程环境中,利用MSXML库解析XML文档是一种常见的技术。MSXML,全称Microsoft XML Core Services,是由微软提供的一套COM组件,用于处理XML数据。它支持DOM(Document Object Model)和SAX(Simple API for ...
利用利用MSXML解析XML文本-VCer_net VC代码 VC开源 VC文章 VC工具 VC知道 VC词典 VC论坛.htm
本篇文章将重点讲解如何在C++中使用MSXML库来解析XML。 MSXML(Microsoft XML Core Services)是微软提供的一个组件,它为Windows平台上的应用程序提供了解析XML文档的能力。MSXML支持DOM(Document Object Model)...
本教程将深入探讨如何在VC++中利用MSXML库解析XML文档。 MSXML,全称Microsoft XML Core Services,是微软提供的一个接口库,用于在Windows环境中解析和操作XML文档。它提供了多种接口,如IXMLDOMDocument、...
本教程将详细介绍如何在VC++项目中结合MSXML库来解析XML文档,帮助开发者理解并实现XML数据的读取和处理。 首先,MSXML是Microsoft提供的XML解析器,它包含了多种接口,如DOM(Document Object Model)和SAX...
在控制台下做的小实例,实现的功能不多,读取节点和属性值,增加节点,删除节点,使用的是 msxml6.dll,由于我的操作系统是64位的,这个dll可能也是64位的,请根据自己的操作系统去使用相应的动态链接库,语言用的...
本示例中,"DOM-MSXML实现解析xml文件"着重介绍了如何利用MSXML库的DOM解析器来处理XML。具体步骤如下: 1. **初始化解析器**:首先,需要实例化一个IXMLDOMDocument对象,这可以通过CoCreateInstance函数完成,...
在给定的压缩包文件中,我们主要关注的是MSXML 4.0 Service Pack 3(SP3),这是一个重要的更新,旨在提高XML解析器的稳定性和安全性。 XML是一种在互联网上广泛使用的标记语言,它允许数据以结构化的方式存储和...