asp解析xml

a276181298 2011-05-03 05:54:18
<%
dim xml
set xml = server.createobject("msxml2.domdocument")
xml.async = false
xml.load request

put_file_content xml.xml

sub put_file_content(byval str)
'将str写入一个txt文件,当远程服务器post数据到你的服务器时就可以看到该文件了

end Sub
%>
------上门的是接收的代码下面是服务器post过来的(有几个xml,(名字:RecvSMS,EchoOfSendSMS,NotifyStatus),推送过来的时间有先后).

NotifyStatus

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<NotifyStatus soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<eventID xsi:type="xsd:int">13</eventID>
<sessionID xsi:type="xsd:string">7878449</sessionID>
<res xsi:type="xsd:int">1</res>
<para1 xsi:type="xsd:string">15889505004</para1>
</NotifyStatus>
<NotifyStatus soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<eventID xsi:type="xsd:int">12</eventID>
<sessionID xsi:type="xsd:string">7878448</sessionID>
<res xsi:type="xsd:int">1</res>
<para1 xsi:type="xsd:string">15889505004</para1>
</NotifyStatus>
</soapenv:Body>
</soapenv:Envelope>

EchoOfSendSMS

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<EchoOfSendSMS soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ucNum xsi:type="xsd:string">07525143006</ucNum>
<cee xsi:type="xsd:string">15889505055</cee>
<msgid xsi:type="xsd:int">7878448</msgid>
<res xsi:type="xsd:int">1</res>
<recvt xsi:type="xsd:string">20100119105258</recvt>
</EchoOfSendSMS>
<EchoOfSendSMS soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ucNum xsi:type="xsd:string">07525143007</ucNum>
<cee xsi:type="xsd:string">15889505052</cee>
<msgid xsi:type="xsd:int">7878449</msgid>
<res xsi:type="xsd:int">1</res>
<recvt xsi:type="xsd:string">20100119105256</recvt>
</EchoOfSendSMS>
</soapenv:Body>
</soapenv:Envelope>

RecvSMS
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<RecvSMS soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<caller xsi:type="xsd:string">18938652200</caller>
<time xsi:type="xsd:string">20101126113634</time>
<cont xsi:type="xsd:string">x+u72LXno6zQu9C7o6E=</cont>
<ucNum xsi:type="xsd:string">075585578185</ucNum>
</RecvSMS>
<RecvSMS soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<caller xsi:type="xsd:string">18938652255</caller>
<time xsi:type="xsd:string">20101126113638</time>
<cont xsi:type="xsd:string">x+u72LXno6zQu9C7o6E=</cont>
<ucNum xsi:type="xsd:string">075585578188</ucNum>
</RecvSMS>


一个不懂asp的跪求大家了.

...全文
159 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
a276181298 2011-05-04
  • 打赏
  • 举报
回复
<%
dim xml
set xml = server.createobject("msxml2.domdocument")
xml.async = false
xml.load request

put_file_content xml.xml

sub put_file_content(byval str)
怎样解析接收到的xml?
end Sub
%>
a276181298 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 enjoy_gw 的回复:]
百度无果?
[/Quote]


a276181298 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 net_lover 的回复:]
你要实现什么目的?组成一个xml文件?
[/Quote]

就是解析xml.
孟子E章 2011-05-04
  • 打赏
  • 举报
回复
你要实现什么目的?组成一个xml文件?
叫我梁大侠 2011-05-04
  • 打赏
  • 举报
回复
百度无果?
a276181298 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiaopeng0504 的回复:]
太长,头疼
[/Quote]

那只是xml啊,又没什么别的
小路子的宝 2011-05-04
  • 打赏
  • 举报
回复
太长,头疼
a276181298 2011-05-04
  • 打赏
  • 举报
回复
每一个人?
黑心 2011-05-04
  • 打赏
  • 举报
回复
'装载一个xml文档,函数名LoadXmlDoc(文件名)
function LoadXmlDoc(filename)
xmlfile=server.Mappath(filename)
Set XMLDOC = Server.CreateObject("Microsoft.XMLDOM")
XMLDOC.async = false
XMLDOC.load(xmlfile)
end function
'查询一个节点里的文本内容,函数名SelectXmlNodeText(节点名称)
function SelectXmlNodeText(elementname)
elementname="//"&elementname
temp=XMLDOC.selectSingleNode(elementname).text
selectXmlNodeText= server.htmlencode(temp)
end function
'根据属性名查找一个节点的属性值,函数名FindAtrributeValue(节点名称,属性名称)
function FindAtrributeValue(elementname,atrributename)
elementname="//"&elementname
atrributename=atrributename
set NodeObj=XMLDOC.selectSingleNode(elementname)
FindAtrributeValue=NodeObj.GetAttributeNode(atrributename).Nodevalue
end function
'取得某个节点的子节点的个数,函数名GetNodesNumber(节点名称)
function GetNodesNumber(elementname)
elementname="//"&elementname
set objnodes=XMLDOC.SelectSingleNode(elementname).ChildNodes
GetNodesNumber=objnodes.length
set objnodes=nothing
end function
'以一个OBJ的形式返回一个节点的第I个子节点,函数名GetObjChildNode(根节点名称,参数I)
function GetObjChildNodes(elementname,i)
elementname="//"&elementname
set objnodes=XMLDOC.SelectSingleNode(elementname)
if objnodes.ChildNodes.length<i then
response.Write("参数越界")
else
set GetObjChildNodes=objnodes.childNodes(i-1)
end if
end function
'函数入口为一个节点对象,出口是在入口节点对象的基础做为根节点,返回的第i个子节点对象(OBJ)
function GetObjChildNode(obj,i)
if IsObject(obj) then
if obj.ChildNodes.length>0 then
set GetObjChildNode=obj.ChildNodes(i)
end if
end if
end function
'如果一个节点对象(OBJ)有孩子节点,该函数返回其孩子个数,即记录集长度
function GetObjChildNodesNumber(obj)
if obj.ChildNodes.length>0 then
GetObjChildNodesNumber=obj.ChildNodes.length
else
GetObjChildNodesNumber=0
end if
end function
'获取一个节点对象(OBJ)的属性值,函数入口为属性名
function GetObjAtrValue(obj,atrributename)
GetObjAtrValue=obj.GetAttributeNode(atrributename).Nodevalue
end function
'获取一个节点对象(OBJ)的属性值,函数入口为obj名称
function GetObjText(obj)
GetObjText=obj.text
end function
'遍历一个节点所有的子节点
function OverViewNodes(elementname)
end function
'获取一个节点属性的名称
function GetNodeAtrributeName()
end function
'获取一个子节点的名称
function GetChildNodeName()
end function
'把信息写入文件
'------------------------------------------------------------
Function WriteTxtFile(Text,FileName)
path=Server.MapPath(FileName)
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile(path,true)
f1.Write (Text)
f1.Close
End Function
a276181298 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lzd_83 的回复:]
啥解析xml,是读取xml还是....
[/Quote]

就是读取.循环遍历每个节点.
toury 2011-05-04
  • 打赏
  • 举报
回复
sub put_file_content(byval str)
xmlDoc=server.createobject("Microsoft.XMLDOM")
xmlDoc.async=false
xmlDoc.loadxml(str)
'解析节点对象
set node=xmlDoc.documentElement.SelectSingleNode("你的xPath字串")
'取该节点的名、值,属性值。。。。。。。。。
nodename=node.nodename
nodevalue=node.text
node.GetAttributeNode("type").Nodevalue '属性名为type的属性值
'..........................
end Sub
Rotel-刘志东 2011-05-04
  • 打赏
  • 举报
回复
啥解析xml,是读取xml还是....
a276181298 2011-05-03
  • 打赏
  • 举报
回复
怎样解析

28,406

社区成员

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

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