3001,参数错误,这是什么错误啊?

bjtu_zhangyi 2008-06-14 08:02:20
我现在用DOM来读写XML文档,其实不是自己写的,网上搜到的一个ASP版本的,可以运行成功,我改到了VB里面,但是出现了问题。

在.Write objNodeList(i).nextSibling.nodeTypedValue这一句上,提示错误“3001,参数类型不正确,或不在可接受的范围内,或与其他参数冲突”

代码如下:

Set objXmlFile = CreateObject("Microsoft.XMLDOM")
objXmlFile.Load ("update.xml")

If objXmlFile.readyState = 4 Then
If objXmlFile.parseError.errorCode = 0 Then

Set objNodeList = objXmlFile.documentElement.selectNodes("//folder/path")
Set objFSO = CreateObject("Scripting.FileSystemObject")

j = objNodeList.length - 1
For i = 0 To j
If objFSO.FolderExists(strLocalPath & objNodeList(i).Text) = False Then
objFSO.CreateFolder (strLocalPath & objNodeList(i).Text)
End If

Next
Set objFSO = Nothing
Set objNodeList = Nothing
Set objNodeList = objXmlFile.documentElement.selectNodes("//file/path")
j = objNodeList.length - 1
For i = 0 To j
Set objStream = CreateObject("ADODB.Stream")
With objStream
.Type = 1
.Open
.Write objNodeList(i).nextSibling.nodeTypedValue
.SaveToFile strLocalPath & objNodeList(i).Text, 2

.Close
End With
Set objStream = Nothing
Next
Set objNodeList = Nothing
End If
End If

Set objXmlFile = Nothing


另外,我尝试把出错的.Write objNodeList(i).nextSibling.nodeTypedValue这一句删除掉,程序就可以通过,生成文件,只不过文件里面没有实质性的内容,就差这一句了,各位帮帮忙了,先谢过~!
...全文
491 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjtu_zhangyi 2008-06-14
  • 打赏
  • 举报
回复
我又尝试了一下,发现这里的问题在于

.Write objNodeList(i).nextSibling.nodeTypedValue

.Write 后面的参数如果是Null的话就会报错

而有时候我的文件可能会是空文件没有内容

所以就出现了3001的错误。

解决也就是从这个方向着手的。
  • 打赏
  • 举报
回复
这个只能一步一步调试
是不是vb和vbscript操作xml有些差别呢
  • 打赏
  • 举报
回复
参数类型不正确,或不在可接受的范围内,或与其他参数冲突

这个错误一般是你没定义的对象就使用了
bjtu_zhangyi 2008-06-14
  • 打赏
  • 举报
回复
在线等,立即给分啊,大家帮帮忙啊

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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