以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  大家快帮帮我,好急好急!!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=13777)


--  作者:sport106
--  发布时间:1/19/2005

--  大家快帮帮我,好急好急!!
我是用vbscript来对xml存取数据,修改,删除,查询数据的,可是在删除的时候出了问题,望大家帮帮我,谢谢!
我从index.asp里传了个参数id到del.asp里去,也成功传递了!这个id是xml里的一个结点.xml里的文件的基本结构是这样的:
<?xml version="1.0" encoding="gb2312"?>
<xml><GuestBook>
<item><id>3</id><a>q</a><b>q</b><c>w</c</item>
GuestBook></xml>

而我在del.asp里的代码是这样的:
<% id=request("id")
id=""""&"//"&"item[id="&id&"]"&"""" '这段是输出"//item[id=id]",是后面要删除的字段
response.write id  '可以得到输出结果"//item[id=id]"
strSourceFile = Server.MapPath("List.xml")
Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
objXML.load(strSourceFile)
'    Set objRootsite = objXML.documentElement.selectSingleNode("GuestBook")
objXML.selectsinglenode("//GuestBook").removechild(objXML.selectsinglenode(id)) '删除id为第几的那个结点.
       objXML.save(server.mappath("list.xml"))
Response.Redirect "index.asp"
%>

上面删除里的id如果这样写  :
objXML.selectsinglenode("//GuestBook").removechild(objXML.selectsinglenode("//item[id=4]"))
那么就可以删除第4个,可是为什么用了变量来表示,就会出错呢?难道那里不能写变量,谁能帮我,还有就是修改和查询也给我一点帮助!


--  作者:Qr
--  发布时间:1/19/2005 12:22:00 AM

--  
试试看,没有进行测试过:)
id=cint(request("id"))
...
objXML.selectsinglenode("//GuestBook").removechild(objXML.selectsinglenode("//item[id=id]"))

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