大家好.请帮我看一下为什么是死循环啊/一点道理也没有啊?谢谢了.

wumaonotborn 2007-08-14 05:29:20
content.xml内容如下:
<?xml version="1.0" encoding="utf-8" ?>
- <chat>
<msg>聊天内容</msg>
- <Info>
<id>158242347</id>
<user>[aa]</user>
<sex>boy</sex>
<ip>127.0.0.1</ip>
<userInTime>2007-8-14 17:11:04</userInTime>
</Info>
- <Info>
<id>158242348</id>
<user>[bb]</user>
<sex>girl</sex>
<ip>127.0.0.1</ip>
<userInTime>2007-8-14 17:11:09</userInTime>
</Info>
- <Info>
<id>158242349</id>
<user>[cc]</user>
<sex>boy</sex>
<ip>127.0.0.1</ip>
<userInTime>2007-8-14 17:11:14</userInTime>
</Info>
</chat>
asp中的程序如下:
set xmldoc=server.CreateObject("MSXML.DOMDocument")
xmldoc.load(server.MapPath("content.xml"))
set root=xmldoc.documentElement '获取根节点
for i=1 to root.childNodes.length-1
if root.childNodes(i).childNodes(1).childNodes(0).text = "[aa]" then
root.childNodes(i).childNodes(4).childNodes(0).Text=now()
exit for
end if
next
//不知道为什么,单独执行上面的程序正常,单独执行下面的程序也正常,但是如果把上面的和下面的放在同一个页面代码中,则会经过大约3分钟才能把这几行代码执行完毕,
不知道哪里出了问题了,请大家帮忙看一下.
i=1
L= root.childNodes.length-1
do while i<=L
if DateDiff("s",(root.childNodes(i).childNodes(4).childNodes(0).Text),now()) > 10 then
root.removeChild(root.childNodes(i))
if L = root.childNodes.length-1 then
i=i+1
else
i=1
L=root.childNodes.length-1
end if
end if
loop
xmldoc.save(server.MapPath("content.xml")) '写完数据之后保存文档
...全文
208 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
好像没那么简单,呵呵.
vlysses 2007-09-30
  • 打赏
  • 举报
回复
学习
panzi667 2007-09-16
  • 打赏
  • 举报
回复
学习中~帮你顶
dabaicai 2007-09-04
  • 打赏
  • 举报
回复
if L = root.childNodes.length-1 then
i=i+1
else
i=1
这句有问题,你自己分析一下长度
loveyt 2007-08-14
  • 打赏
  • 举报
回复
在做循环之前,i和L的值已经被你算好,是定值了,就像1<=2永远成立一样,所以会成为死循环.
另外,这里是JAVA WEB版块,你把话题发到VB版去,愿意回答的人会多一点.

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧