以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  ASP查询并输出节点值时编译出错!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=69413)


--  作者:cosmos53076
--  发布时间:11/13/2008 9:35:00 AM

--  ASP查询并输出节点值时编译出错!
search.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<root>
 <book>
  <id>1</id>
  <name>百度</name>
  <url>htttp://www.baidu.com</url>
 </book>
 <book>
  <id>2</id>
  <name>网易</name>
  <url>htttp://www.163.com</url>
 </book>
 <book>
  <id>3</id>
  <name>新浪</name>
  <url>htttp://www.sina.com.cn</url>
 </book>
</root>

search.asp文件内容如下:
<%
Set objXML = Server.CreateObject("MSxml.DOMDocument")
objXML.async = False   
objXML.validateOnParse = False   
objXML.resolveExternals = False
objXML.load("data/search.xml")
Set rootObj = objXML.documentElement
Set objSerchNode = rootObj.SelectSingleNode("//book[name='百度']")
Set parentSerchNode = objSerchNode.parentNode
Response.Write("id: " & parentSerchNode.childNode(0).nodeValue)
%>

该ASP页面编译时出现错误:

错误类型:
Microsoft VBScript runtime (0x800A01A8)
Object required
/aspXML/show.asp, 第 8行

第8行代码为:Set objSerchNode = rootObj.SelectSingleNode("//book[name='百度']")

但我并未发现代码有什么问题,请高人指点!谢谢!


--  作者:hexun831012
--  发布时间:11/13/2008 10:01:00 AM

--  
SelectSingleNode???
selectSingleNode!!!
--  作者:cosmos53076
--  发布时间:11/13/2008 10:06:00 AM

--  
难道不应该是SelectSingleNode吗?
换成selectSingleNode一样报错啊!


--  作者:Qr
--  发布时间:11/13/2008 2:44:00 PM

--  
难道不应该是SelectSingleNode吗?——应该吗?

换成selectSingleNode一样报错啊!——这个方法只能返回一个节点,而代码中你却用“//”,这不是张冠李戴吗?


--  作者:hexun831012
--  发布时间:11/13/2008 5:24:00 PM

--  
以下是引用Qr在2008-11-13 14:44:00的发言:
难道不应该是SelectSingleNode吗?——应该吗?

换成selectSingleNode一样报错啊!——这个方法只能返回一个节点,而代码中你却用“//”,这不是张冠李戴吗?



他只返回第一个匹配的节点,这倒是没啥问题,但是他说是编译错误。。。
--  作者:Qr
--  发布时间:11/14/2008 12:02:00 PM

--  
很久没用ASP+XML了,估计是ASP不直接支持XPath查询,需要在代码中进行声明才能使用XPath查询。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms