asp使用MSXML2.DOMDocument加载网络上的xml文件时,在调用load方法前需要注意设置:
oXML.setProperty "ServerHTTPRequest", true
asp使用MSXML2.DOMDocument组件时需要注意一下4中情况
<% Dim oXML, oXMLError, ReturnValue, x Set oXML = Server.CreateObject("MSXML2.DOMDocument") ' 设置DOMDocument加载xml文件时是异步加载,还是同步加载 oXML.async = false'==========A ' 设置目的: True/False,表示是否使用“服务器安全”的ServerXMLHTTP组件加载xml文档 oXML.setProperty "ServerHTTPRequest", true'==========B ' 通过HTTP加载网络xml文件件 ReturnValue = oXML.Load("http://localhost/asp/ServerXML.xml")'==========C '或者加载服务器本地xml文件 'ReturnValue = oXML.Load("d:\test.xml")'==========D ' 打出DOMDocument.load的返回值: Response.write "Result of load method is =" & ReturnValue & "<br>" %>
第一种情况(加载空文档):
默认情况下,DOMDocument对象的async属性是TRUE,即异步方式加载。 而且加载时不使用ServerXMLHTTP组件。 即注释掉上面代码中的第A行和B行代码。
'oXML.async = false'==========A 'oXML.setProperty "ServerHTTPRequest", true'==========B
这时候,加载会成功。 ReturnValue将会是TRUE。 但是加载到DOMDocument中的XML文档为空!也就是说,load方法返回的TRUE是一个幌子! 结果如下所示: 对于这种情况,程序员一定要小心! XML虽然没有报告任何错误,而且load方法也表明成功,但是DOM的xml属性却为空。
第二种情况(错误原因为: -2146697209):
如果你显式地声明async属性为FALSE,即同步方式加载XML文档。 而且加载时不使用ServerXMLHTTP组件。 即只注释掉上面代码中的第B行代码。
oXML.async = false'==========A 'oXML.setProperty "ServerHTTPRequest", true'==========B
那么将会遭遇失败!ReturnValue将是False。 错误原因为: -2146697209 - 无所需资源的可用数据。 也就说,同步加载Internet上的XML资源是不会成功的!!
第三种情况(不允许):
如果你的async属性为TRUE,即异步方式加载XML文档。 而且加载时使用ServerXMLHTTP组件。 即启用上面代码中的第B行代码。注释掉第A行代码。
'oXML.async = false'==========A oXML.setProperty "ServerHTTPRequest", true'==========B
报告了错误!说明使用SXH组件异步加载XML文档,是不被允许的! 错误描述为: -1072897486 - The ServerHTTPRequest property can not be used when loading a document asynchronously and is only supported on Windows NT 4.0 and above.
第四种情况(正确使用):
如果你显式地声明async属性为FALSE,即同步方式加载XML文档。 而且加载时使用ServerXMLHTTP组件。 即启用上面代码中的第A和B行代码。
oXML.async = false'==========A oXML.setProperty "ServerHTTPRequest", true'==========B
那就可以了!说明使用SXH组件加载XML文档,能够纠正了异步方式加载Internet资源的错误。
总结
加载方式 |
是否使用 ServerXMLHTTP组件 |
加载结果 |
异步加载 | 不使用 | 加载会成功。 但是加载到DOMDocument中的XML文档为空 |
同步加载 | 不使用 | 将会遭遇失败!错误原因为: -2146697209 - 无所需资源的可用数据。 |
异步加载 | 使用 | 不被允许的 |
同步加载 | 使用 | 真正成功 |
主要内容:Internet Explorer - XML 数据岛,XML 数据岛实例,实例,Internet Explorer - 行为,实例 1 - 鼠标悬停突出,实例 2 - 打字机模拟这里列出了您在使用 XML 时应该尽量避免使用的技术。 Internet Explorer - XML 数据岛 它是什么?XML 数据岛是嵌入到 HTML 页面中的 XML 数据。 为什么要避免使用它?XML 数据岛只在 Internet Explorer 浏览器中有效。 用什么代替它?您应当在 HTML 中
本文向大家介绍asp的SQL语句中and和or同时使用的注意事项,包括了asp的SQL语句中and和or同时使用的注意事项的使用技巧和注意事项,需要的朋友参考一下 今天在调试程序的时候,需要用到and or,如果不掌握技巧输出的结构与我们想象的差距有点大,这里分享一下,希望大家以后多多支持呐喊教程 asp的SQL语句中and 和or是不是不可以同时使用呢? 答案是肯定的,下面来看下方法: 1、非常
本文向大家介绍ThinkPHP中处理表单中的注意事项,包括了ThinkPHP中处理表单中的注意事项的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP中处理表单中的注意事项。分享给大家供大家参考。具体分析如下: ThinkPHP中在表单提交数据中,有以下问题需要加以注意: 1、直接通过url访问模块中的某一个方法,这样很不安全。可以使用下面来限制 在3.1.3中使用常量 IS_
本文向大家介绍PHP PDO数据库操作预处理与注意事项,包括了PHP PDO数据库操作预处理与注意事项的使用技巧和注意事项,需要的朋友参考一下 PDO(PHP Database Object)扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。在数据库操作方面更加安全更加高效! PDO为PHP访问各类
问题内容: 我正在评估各种选项,以便针对Oracle中的单个临时数据集运行一堆高性能查询。在T- SQL中,我可能会使用内存中的临时表,但是Oracle没有与此功能完全相同的功能。 我目前看到这些选项: 1.全局临时表 计划: 2.取消PL / SQL表类型变量的嵌套 计划: 3.物化视图 对于这个用例,我将它们排除在外,因为所讨论的临时数据集相当复杂,并且对更新实例化视图的影响将太大。 实际数据
主要内容:if语句使用,布尔运算,isin()操作,reindex()操作Pandas 基于 NumPy 构建,它遵循 NumPy 设定的一些规则。因此,当您在使用 Pandas 时,需要额外留意一些事项,避免出现一些不必要的错误。 if语句使用 在 if 语句中,如果您需要将 Pandas 对象转换为布尔值时,需要格外留意,这种操作会引起 ValueError 异常, 下面通过一组示例做简单说明: 输出结果: 从输出结果可以看出,上述代码引发了 ValueError