加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

MSXML2.DOMDocument加载Internet资源时情况枚举

发布时间:2020-12-16 07:54:18 所属栏目:百科 来源:网络整理
导读:MSXML2.DOMDocument加载Internet资源时情况枚举 Article last modified on 2002-1-21 The information in this article applies t Microsoft XML,versions 2.5,2.6, 3.0 SYMPTOMS 如果你调用MSXML.DOMDocument或者MSXML.DOMDocument的Load方法来加载一个XM

MSXML2.DOMDocument加载Internet资源时情况枚举

Article last modified on 2002-1-21


The information in this article applies t

  • Microsoft XML,versions 2.5,2.6, 3.0


SYMPTOMS

如果你调用MSXML.DOMDocument或者MSXML.DOMDocument的Load方法来加载一个XML文件资源,而访问这个XML文件是Internet上的资源,那么具体会有几种情况出现,开发人员应该熟悉不同的设置下会出现什么状况。

其中有这么四种情况比较特殊,程序员一定要小心。

测试的代码如下:

<%Response.Buffer = False%>

<html>

<head>

</head>

<body>

<%

??? Dim oXML,oXMLError,ReturnValue,x

??? Set oXML = Server.CreateObject("MSXML2.DOMDocument")

???

??? ' 设置DOMDocument加载资源时是异步加载,还是同步加载:

A?? oXML.async = false

??? ' 设置目的:

??? ' True/False value indicating if the "server-safe" ServerXMLHTTP

??? ' component should be used to load a document to a server

B?? oxml.setProperty "ServerHTTPRequest",true

??? ' 通过HTTP加载资源:

C?? ReturnValue = oXML.Load("http://localhost/asp/ServerXML.xml")

??? ' 或者加载文件资源:

D?? 'ReturnValue = oXML.Load("C:Inetpub estASPServerXML.xml")

??

??? ' 打出DOMDocument.load的返回值:

??? Response.write "Result of load method is =" & ReturnValue & "<br>"

??? ' 打出DOMDocument加载资源的URL:

??? Response.Write oxml.url & "<br>"

???

? ??'如果DOMDocument.load方法返回值为FALSE,则打出它的错误原因:

??? If ReturnValue = False Then

?????? Response.Write "--****************--" & "<br>"

??????

?????? Set oXMLError = oXML.ParseError

?????? Response.Write "" & _

?????? ?? oXMLError.ErrorCode & _

?????? ?? " - " & oXMLError.Reason & _

?????? ?? "<br>"

?????? Set oXMLError = Nothing

??????

?????? Response.Write "--****************--" & "<br>"

??? End If

??? ' 打出加载的XML文档的节点个数

??? For x = 0 to oxml.childNodes.length

?????? Response.Write "Node " & x & "." & "<br>"

??? Next

???

??? ' 打出加载的XML文档内容:

Response.Write "<-- XML Content: -->" & "<br>" & oxml.xml & "<br>" & " --------"?

??? Set oXML = Nothing

%>

</body>

</html>

第一种情况(小心,一个幌子!):

默认情况下,DOMDocument对象的async属性是TRUE,即异步方式加载。

而且加载时不使用ServerXMLHTTP组件。

即注释掉上面代码中的第A行和B行代码。

A?? ‘ oXML.async = false

B?? ‘ oxml.setProperty "ServerHTTPRequest",true

这时候,加载会成功。

ReturnValue将会是TRUE。

但是加载到DOMDocument中的XML文档为空!也就是说,load方法返回的TRUE是一个幌子!

结果如下所示:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读