asp解析XML文档(没分了)

btlyeo 2006-08-14 08:39:46
48分完全奉上,求一段解析XML的代码,需求如下:

我们发送一个url比如:http://ip/虚拟目录/a.asp?ID=12345

就会得到一个XML文件,XML文件格式如下:
-----------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<response source="queryUserInfo" ver="1" seqno="1" code="0" desc="查询成功">
<entcode>企业代码</entcode>
<userid>员工帐户名称</userid>
<isadmin>是否企业管理员</isadmin>
<sessionid>会话编号</sessionid>
</response>
-----------------------------------------------------------
要把里面的几个元素值都提取出来。做其他的用途,这个XML要怎么写?

折腾了好久也没出来,不得不问了!多谢!

高手们多帮忙~
...全文
540 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kafly 2006-08-16
  • 打赏
  • 举报
回复
<%
dim httpword
httpword = GetHttpPage("http://community.csdn.net/Expert/topic/4949/4949334.xml?temp=3.591555E-02")
response.write Parse(httpword,"TopicName")

'==================================================
'函数名:GetHttpPage
'作 用:获取网页源码
'参 数:HttpUrl ------网页地址
'==================================================
Function GetHttpPage(HttpUrl)
If IsNull(HttpUrl)=True Or Len(HttpUrl)<18 Or HttpUrl="$False$" Then
GetHttpPage="$False$"
Exit Function
End If
Dim Http
Set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",HttpUrl,False
Http.Send()
If Http.Readystate<>4 then
Set Http=Nothing
GetHttpPage="$False$"
Exit function
End if
GetHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
Set Http=Nothing
If Err.number<>0 then
Err.Clear
End If
End Function

'==================================================
'函数名:Parse
'作 用:获取标签里的内容
'参 数:strRet 页面源代码; token 标签名
'==================================================
function Parse(strRet, token)
dim pos1, pos2, str1, str2
str1 = "<"& token &">"
str2 = "</"& token &">"
pos1 = instr(1,strRet,str1,1)
pos2 = instr(pos1,strRet,str2,1)
if pos2 < 1 then
Parse = ""
else
parse = mid(strRet, pos1 + len(str1), pos2 - pos1 - len(str1))
end if
end function

'==================================================
'函数名:BytesToBstr
'作 用:将获取的源码转换为中文
'参 数:Body ------要转换的变量
'参 数:Cset ------要转换的类型
'==================================================
Function BytesToBstr(Body,Cset)
Dim Objstream
Set Objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
%>
btlyeo 2006-08-16
  • 打赏
  • 举报
回复
help!
btlyeo 2006-08-14
  • 打赏
  • 举报
回复
多谢!
你给的这个是解析本地的XML文件么?有没有可以解析从一个URL传过来的?
CreatBird 2006-08-14
  • 打赏
  • 举报
回复
jscript:一般写在js文件中,根据需要调用这个函数,通过这个函数调用xml,其中xxx06.asp,是xml文件。
function JA77101fnc_DataCheck() {
var strReqYM= document.frm.txtYYYYMM.value;

var xml = new ActiveXObject("Microsoft.XMLDOM");

xml.async = false;

if(!xml.load("xxx06.asp?YM=" + strReqYM)) {
alert("Error");
return false;
}
var dataFlg = xml.documentElement.childNodes.item(0).getElementsByTagName("FLAG").item(0).text;

if(dataFlg == "1") {
strReqYM = strReqYM.substr(0,4) + '年'+strReqYM.substr(5,2) + '月';
alert(strReqYM+"'s data is OK");
return;
}else {
alert(strReqYM+"'s data is Error");
}
}

xxx06.asp文件。请参考
<%

Dim g_strFLAG
'On Error Resume Next

set dbconn=server.CreateObject("adodb.connection")
set dbrs=server.CreateObject("adodb.recordset")

strReqYM = Request.QueryString("YM")
strReqYM = Left(strReqYM,4) & Right(strReqYM,2)

If *********** Then
g_strFLAG = "0"
Else
g_strFLAG = "1"
End If
%>
<?xml version="1.0" encoding="shift_jis"?>
<items>
<item0>
<FLAG><%=g_strFLAG%></FLAG>
</item0>
</items>
jeffrey_shou 2006-08-14
  • 打赏
  • 举报
回复
文档加载成功后,用GetConfig()读取数据
Set m_objDOMDocument=Server.CreateObject("MSXML2.DOMDocument")
bRC=m_objDOMDocument.load(Server.Mappath(DocPathName)
Public Function GetConfig(Name)
If (CBool(DocSW)=True) Then
GetConfig= m_objDOMDocument.getElementsByTagName(Name).item(0).text
Else
GetConfig="ERR:CWebConfig.GetConfig(Name)"
End If
End Function
jeffrey_shou 2006-08-14
  • 打赏
  • 举报
回复
Set m_objDOMDocument=Server.CreateObject("MSXML2.DOMDocument")
bRC=m_objDOMDocument.load(Server.Mappath(DocPathName))
If (CBool(bRC)) Then
m_bDocSW=True
Else

m_bDocSW=False
End If
btlyeo 2006-08-14
  • 打赏
  • 举报
回复
今天让交任务,真是没啥时间看了,各位辛苦一下,帮忙把代码贴出来吧~
chszs 2006-08-14
  • 打赏
  • 举报
回复
我就不提供代码了,“要把里面的几个元素值都提取出来,做其他的用途”,你首先应该会xml dom的相关知识,当你熟悉dom树的操作后,你会发现非常简单。
德仔 2006-08-14
  • 打赏
  • 举报
回复
实例演练ASP+XML编程
http://www.dezai.cn/study/Article_Show.asp?ArticleID=5162
德仔 2006-08-14
  • 打赏
  • 举报
回复
Web设计中如何使用XML数据

http://www.dezai.cn/study/Article_Show.asp?ArticleID=7588

http://www.dezai.cn/study/Article_Class.asp?ClassID=63&SpecialID=0&page=2
长征_在路上 2006-08-14
  • 打赏
  • 举报
回复
关注
btlyeo 2006-08-14
  • 打赏
  • 举报
回复
需求我说清楚了吧?但是给的代码都不太合适啊,麻烦给个合适点的代码好么,多谢!

28,391

社区成员

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

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