ASP读取XML

xingpin 2010-07-26 09:48:02
<%
strSourceFile = Server.MapPath("test.xml")
Set objXML =Server.CreateObject("Microsoft.XMLDOM") '创建一个XML对像
objXML.load(strSourceFile) '把XML文件读入内存
Response.Write(objXML.documentElement.selectSingleNode("Result"))
Set xml=objXML.documentElement.selectSingleNode("Result") '选取节点 Advertisement
ADid=xml.childNodes.item(0).text
ADname=xml.childNodes.item(1).text
Response.Write(ADid)
Response.Write(ADname)
%>
asp代码是这样的

<?xml version="1.0" encoding="utf-8" ?>
<Result>
<MemberInfo>
<State>0</State>
<ErrorInfo>用户已存在</ErrorInfo>
</MemberInfo>
</Result>

Microsoft VBScript 运行时错误 错误 '800a01a8'

缺少对象: '[object]'

请问该怎么做呀?
...全文
66 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingpin 2010-07-26
美女,你太牛呀,爱死你了!
哈哈,结贴了!
回复
乞丐921 2010-07-26

<%
Dim objXML,strSourceFile,objcode,ADid,ADname
strSourceFile ="<?xml version=""1.0"" encoding=""utf-8""?><Result><MemberInfo> <State>0</State><ErrorInfo>用户已存在</ErrorInfo> </MemberInfo></Result>"
Set objXML = Server.CreateObject("msxml2.FreeThreadedDOMDocument.3.0")
objXML.ASYNC = False
objXML.loadxml(strSourceFile)
If Not objXML is Nothing Then
set objcode=objXML.selectSingleNode("//Result/MemberInfo")
If Not objcode Is Nothing Then
ADid=objcode.selectSingleNode("State").text
ADname=objcode.selectSingleNode("ErrorInfo").text
End If
End If
response.Write(ADid)
response.Write(ADname)

%>
将 objXML.load改成 objXML.loadxml
回复
xingpin 2010-07-26
谢谢楼上的回复
我现在是把XML文件定义在一个ASP的变量里面,像这样的, strSourceFile = "<?xml version='1.0' encoding='utf-8' ?><Result><MemberInfo><State>0</State><ErrorInfo>用户已存在</ErrorInfo> </MemberInfo></Result>"
请问我怎么把里面的0和用户已存在这个属性值解析出来呢!
回复
乞丐921 2010-07-26

Dim objXML,strSourceFile,objcode,ADid,ADname
strSourceFile = Server.MapPath("test.xml")
Set objXML = Server.CreateObject("msxml2.FreeThreadedDOMDocument.3.0")
objXML.ASYNC = False
objXML.load(strSourceFile)
If Not objXML is Nothing Then
set objcode=objXML.selectSingleNode("//Result/MemberInfo")
If Not objcode Is Nothing Then
ADid=objcode.selectSingleNode("State").text
ADname=objcode.selectSingleNode("ErrorInfo").text
End If
End If
response.Write(ADid)
response.Write(ADname)
回复
xingpin 2010-07-26
strSourceFile = "<?xml version='1.0' encoding='utf-8' ?> <Result><MemberInfo><State>0</State> <ErrorInfo>用户已存在</ErrorInfo> </MemberInfo></Result>"
Set objXML =Server.CreateObject("Microsoft.XMLDOM") '创建一个XML对像
objXML.async = False
'If Not objXML.load(strSourceFile) Then '把XML文件读入内存
'Response.Write "xml错误了:" & objXML.parseError.reason
'Else
Set xml=objXML.documentElement.selectSingleNode("MemberInfo") '选取节点 Advertisement
ADid=xml.childNodes.item(0).text
ADname=xml.childNodes.item(1).text
Response.Write(ADid)
Response.Write(ADname)
'End If

呵呵,哥们,谢谢你的回复,按照你的方法是成功的,是我编码的问题!但是我现在想把XML文件放在一个ASP的变量里面,请问该如何解析!
回复
mocom 2010-07-26
objXML.load(strSourceFile) '把XML文件读入内存
改成:
objXML.async = False
If Not objXML.load(strSourceFile) Then '把XML文件读入内存
Response.Write "xml错误了:" & objXML.parseError.reason
Else
'后续代码
End If
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告