救命啊!!!怎么在asp中读取xml中的内容--在线待

tangcx 2006-07-28 08:16:47

<? version='1.0' encoding='gb2312'?>
<MadeImage>
<Resonse>
<coupon_id>102369844<coupon_id>
<imageurl>images/102369844.gif</imageurl>
</Resonse>
</MadeImage>

怎样在asp中读出---images/102369844.gif---

...全文
449 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengforever 2006-12-14
  • 打赏
  • 举报
回复
收藏.
judge9999 2006-12-14
  • 打赏
  • 举报
回复
mark
hbjmdx008 2006-12-14
  • 打赏
  • 举报
回复
同意猫猫。
wj008 2006-07-29
  • 打赏
  • 举报
回复
不是吧!~~ 我用着的都是正常的哦!~~~
需要这方面的原代码联系我吧!QQ:641271799
有文件操作的函数
有INI操作的
有数据库自动生成的!不过需要一个空数据库做为地层模板 可以生成表 字段
有生成HTML的简单简单事例!~~
不过最近以为出去办事情~ 可能要等上一个月才能回去 资料是在家里电脑里的 ~~ 呵呵~
mengyao 2006-07-28
  • 打赏
  • 举报
回复
wj008:的例子好像运行不了
wj008 2006-07-28
  • 打赏
  • 举报
回复
x1.xml架设是你上面的XML文件 
  不一定~~
  不过是必须是和数据库格式一样的吧 字段可以更改的~
wj008 2006-07-28
  • 打赏
  • 举报
回复
呵呵 我那个是操作嘛!~ 至于读出来那当然可以针对性的简单一点啦~
大猫钓鱼 2006-07-28
  • 打赏
  • 举报
回复
注:x1.xml架设是你上面的XML文件
大猫钓鱼 2006-07-28
  • 打赏
  • 举报
回复
就这么简单 ^_^
<%
Dim sFile,objXML,rootElement,getNodeTxt
sFile=Server.MapPath("x1.xml")
Set objXML=Server.CreateObject("Microsoft.XMLDOM")
objXML.async=False
objXML.load(sFile)
Set rootElement=objXML.documentElement
If IsObject(rootElement)=False Then
Response.Write "can not load root!"
Response.End
End If
getNodeTxt=rootElement.childNodes(0).childNodes(1).text
'rootElement=><MadeImage>
'childNodes(0)=><Resonse>
'childNodes(1)=><imageurl>
'text=>images/102369844.gif
Response.Write getNodeTxt
Response.End
Set objXML=Nothing
%>

楼主上面的XML文件写错了两个地方,害我找了半天...
wj008 2006-07-28
  • 打赏
  • 举报
回复
1.XML
===========================================================================
<?xml version="1.0" encoding="gb2312"?>
<data>
<tomcat>
<ID>1</ID>
<username>张辉</username>
<password>123456</password>
</tomcat>
</data>
============================================================================

aspXML.asp
============================================================================
<%
Class ASPXML
Private objDom,objnodes,objTable,Xml_Array,XMLnodes,ID,brstr,NewXMLnode,NewXMLcooky
Public Path,Data,Xml_Eof,Xml_Bof,Xml_Item,Xml_Count

'打开文档
Public Sub open()
set objDom=server.CreateObject("Microsoft.XMLDOM")
objDom.load Path
set objnodes=objdom.documentElement.SelectSingleNode("//"+Data+"").ChildNodes
set XMLnodes=objdom.documentElement.SelectSingleNode("//"+Data+"")
end sub

'选择表
Public Function SelectTable(Table)
objTable=Table
Xml_Count=-1
Xml_Eof=false
Xml_Bof=false
'Xml_Item=2
if Xml_Item="" then
Xml_Item=0
end if
GETCount()
ChkCount()
end Function


'下移一行
Public Sub MoveNext()
Xml_Item=Xml_Item+1
ChkCount()
end sub
'上移一行
Public Sub MoveLast()
Xml_Item=Xml_Item-1
ChkCount()
end sub

'读出值
Public Function Read(key)
Read=objnodes(int(Xml_Array(Xml_Item))).selectSingleNode(key).text
end Function
'写入
Public Function Write(key,viold)
objnodes(int(Xml_Array(Xml_Item))).selectSingleNode(key).text=viold
end Function
'查询字段
Public Function SelectItem(key,viold)
Xml_AllTableWords=""
for i=0 to Xml_Count
xml_viold=objnodes(int(Xml_Array(i))).selectSingleNode(key).text
if xml_viold=viold then
Xml_AllTableWords=Xml_AllTableWords+"|"+Xml_Array(i)
end if
next
StrPtr = instr(Xml_AllTableWords, "|")
Xml_AllTableWords = mid(Xml_AllTableWords, StrPtr+1)
Xml_Array=split(Xml_AllTableWords , "|")
Xml_Count=UBound(Xml_Array)
ChkCount()
end Function

'新加记录
Public sub addnew()
NewXMLnode=""
if XMLnodes.hasChildNodes then
ID = XMLnodes.lastchild.firstchild.text+1
else
'如是没有字子节点则是第一次留言ID号设为1
ID=1
end if
brstr=chr(13)&chr(10)&chr(9)
NewXMLcooky=brstr&"<"&objTable&">"&brstr &"<ID>"&ID&"</ID>"&brstr
end sub
'添加数值
Public Function add(key,viold)
NewXMLcooky=NewXMLcooky&"<"&key&">"&viold&"</"&key&">"&brstr
NewXMLnode=NewXMLcooky&"</"&objTable&">"&chr(13)
end Function
'删除记录
Public Function delect(key,viold)
for i=0 to Xml_Count
if ISkeyOk(key,viold) then
XMLnodes.removechild(objDom.selectsinglenode("//"&objTable&"["&key&"='"&viold&"']"))
end if
next
objDom.save(Path)
end Function

'删除表
Public Function delectTable()
for i=0 to Xml_Count
XMLnodes.removechild(objDom.selectsinglenode("//"&objTable))
next
objDom.save(Path)
end Function


'更新修改表
Public Sub update()
if NewXMLnode<>"" then
set objXML2=Server.CreateObject("Microsoft.XMLDOM")
'建立一个新XML对像
objXML2.loadXML(NewXMLnode)
'把XML版片段读入内存中
set rootNewNode=objXML2.documentElement
'获得objXML2的根节点
XMLnodes.appendChild(rootNewNode)
end if
objDom.Save(Path)
end sub
'关闭
Public Sub CLOSE()
set objnodes=nothing
set objDom=nothing
' Response.Write(objTable)
end sub


'=====================================================================
Private Function GETCount()
Xml_AllTableWords=""
Xml_AllCount=-1
for each element in objnodes
Xml_AllCount=Xml_AllCount+1
If element.nodename =objTable then
Xml_AllTableWords=Xml_AllTableWords+"|"+cstr(Xml_AllCount)
end if
next
StrPtr = instr(Xml_AllTableWords, "|")
Xml_AllTableWords = mid(Xml_AllTableWords, StrPtr+1)
Xml_Array=split(Xml_AllTableWords , "|")
Xml_Count=UBound(Xml_Array)
end Function

Private Function ChkCount()
if Xml_Count<0 then
Xml_Bof=true
end if
if Xml_Item>Xml_Count then
Xml_Eof=true
end if
end Function

Private Function ISkeyOk(key,viold)
ISkeyOk=false
if not(XMLnodes.hasChildNodes) then
exit Function
end if

for each timent in objnodes
If timent.nodename =objTable then
set pobjnodes=timent.ChildNodes
for each yyment in pobjnodes
if yyment.nodename=key and yyment.text=viold then
ISkeyOk=true
exit Function
end if
next
end if
next
end Function
End Class
%>
=======================================================================

使用这个类的例子
test.asp
=======================================================================
<!--#include file="aspXML.asp"-->
<%

set tt=new ASPXML
tt.Path=server.MapPath("1.xml")'第一步先选择文件路径
tt.Data="data" '第二步选择数据库
tt.open '打开
tt.SelectTable("tomcat") '选择表
'tt.delect "username","张辉" '这里表示删除 username字段里是 张辉 的所有值
'tt.delectTable() '删除这个表
tt.SelectItem "ID","2" '这里是查询ID为2的记录
'tt.Xml_Item=tt.Xml_Count 'tt.Xml_Item 是第几条记录 tt.Xml_Count是记录总数
tt.addnew ' 添加记录
tt.add "username","张辉" '写入值
tt.add "password","123456" '写入值
tt.update '保存记录
GG=tt.read("username") '读出记录
tt.close '关闭
Response.Write(GG)
Response.Write("<br>")
Response.Write("<br>")
'再写个循环读出记录

set HH=new ASPXML
HH.Path=server.MapPath("1.xml") '第一步先选择文件路径
HH.Data="data" '第二步选择数据库
HH.open '打开
HH.SelectTable("tomcat") '选择表
HH.SelectItem "username","张辉" '查询条件 如果读出所有 这里不要
do while not(HH.Xml_Bof or HH.Xml_Eof)

Response.Write HH.read("username")
Response.Write("|")
Response.Write HH.read("password")
Response.Write("<br>")

HH.MoveNext()
loop
HH.CLOSE

%>
=======================================================
作者WJ008 本人精心写的类啊~~ ASPXML类啊~~~
wj008 2006-07-28
  • 打赏
  • 举报
回复
加点哦~~
我把原代码发给你哦~
tangcx 2006-07-28
  • 打赏
  • 举报
回复
先顶一下

28,391

社区成员

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

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