以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  Object required: 'documentElement' 错误?[求助]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=27582)


--  作者:white.gourd
--  发布时间:2/22/2006 12:39:00 AM

--  Object required: 'documentElement' 错误?[求助]
XML:

<States>
   <State ref="FL">
      <name>Florida</name>
      <capital>Tallahassee</capital>
   </State>
   <State ref="IA">
      <name>Iowa</name>
      <capital>Des Moines</capital>
   </State>
</States>

Code (VBScript):

Dim objXMLDoc
Set objXMLDoc = CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
objXMLDoc.load("states.xml")

Dim objChildNodes, strNode
Set objChildNodes = objXMLDoc.documentElement.childNodes

For Each strNode In objChildNodes
   document.write(strNode.nodeName & "<br>")
Next

运行后出现错误:

Microsoft VBScript runtime error '800a01a8'

Object required: 'documentElement'

/test1.asp, line 10

我到网上搜了好久但是没找到正确的答复。请问问题出在哪里?谢谢!


--  作者:Qr
--  发布时间:2/22/2006 10:36:00 AM

--  
问题是你的ASP代码写错了:
Dim objXMLDoc
Set objXMLDoc = Server.CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
objXMLDoc.load(Server.MapPath("states.xml"))
Dim objChildNodes, strNode
Set objChildNodes = objXMLDoc.documentElement.ChildNodes

For Each strNode In objChildNodes
   response.write(strNode.nodeName & "<br>")
Next


--  作者:white.gourd
--  发布时间:2/22/2006 5:13:00 PM

--  
谢谢!是这样的!

但是如果我想把Server.MapPath("states.xml") 改成从完整的URL(因为我要从远程得到XML文件),例如:
Dim objXMLDoc,objXMLFile
objXMLFile="http://www.asdfasfg.org/states.xml"
Set objXMLDoc = Server.CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
objXMLDoc.load(objXMLFile)
Dim objChildNodes, strNode
Set objChildNodes = objXMLDoc.documentElement.ChildNodes

For Each strNode In objChildNodes
   response.write(strNode.nodeName & "<br>")
Next

为什么就不行了呢?出现了相同的错误!

Microsoft VBScript runtime error '800a01a8'

Object required: 'documentElement'

/test1.asp, line 10


--  作者:hgpimac
--  发布时间:2/23/2006 9:16:00 AM

--  
javascript好像没问题呀
--  作者:Qr
--  发布时间:2/23/2006 5:33:00 PM

--  
远程获取XML文件,不能按这种方法用,ASP的话,得借助XMLHTTP,到基础版用“远程”为关键词可搜索到相关示例。JS则不同,可以直接用objXMLDoc.load(objXMLFile)。
--  作者:white.gourd
--  发布时间:2/25/2006 1:56:00 AM

--  
以下是引用Qr在2006-2-23 17:33:00的发言:
远程获取XML文件,不能按这种方法用,ASP的话,得借助XMLHTTP,到基础版用“远程”为关键词可搜索到相关示例。JS则不同,可以直接用objXMLDoc.load(objXMLFile)。


高手就是高手,虽然没见到这个帖子之前就把问题解决了,但是解决的方法和Qr说的一样!真是佩服!感谢!!!


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms