首页
关于我们
服务项目
作品展示
服务支持
联系我们
友情链接
网站地图
 您当前位置:网络学院 -> 编程开发系-> 编程开发-> XML教程
让XML在ASP中发挥其长处
作者:admin 来源:网络
日期: 2007-2-27
站内搜索
文章页数:[1] 

微软的ASP.NET跟XML紧密结合,不可分割,可见XML在日后程序设计中的重要性。

在ASP中,也能让XML发挥其优点。例如像.NET那样写一个XML配置文件,在程序中读取,或者将一些数据量不

大又经常访问的数据写入到XML中,经过转换后生成HTML。这样的话能够减少程序与数据库的频繁连接,提高网站的运行速度。

下面是从数据库中读取数据,并生成XML的一段代码:

<%

response.ContentType = "text/xml"

set conn=Server.CreateObject("ADODB.Connection")

conn.provider="Microsoft.Jet.OLEDB.4.0;"

conn.open server.mappath("/db/database.mdb")

sql="select fname,lname from tblGuestBook"

set rs=Conn.Execute(sql)

rs.MoveFirst()

response.write("<?xml version='1.0' encoding='ISO-8859-1'?>")

response.write("<guestbook>")

while (not rs.EOF)

response.write("<guest>")

response.write("<fname>" & rs("fname") & "</fname>")

response.write("<lname>" & rs("lname") & "</lname>")

response.write("</guest>")

rs.MoveNext()

wend

rs.close()

conn.close()

response.write("</guestbook>")

%>

下面是作者搜集和整理后的一些读取XML文件的公用函数:

<%

'解析一个xml文件的公用函数集合

dim document

'装载一个xml文档,函数名Loaddocument(文件名)

function LoadDocument(filename)

xmlfile=server.Mappath(filename)

Set document = Server.CreateObject("Microsoft.XMLDOM")

document.async = false

document.load(xmlfile)

end function

'查询一个节点里的文本内容,函数名SelectXmlNodeText(节点名称)

function SelectXmlNodeText(elementname)

elementname="//"&elementname

temp=document.selectSingleNode(elementname).text

selectXmlNodeText= server.htmlencode(temp)

end function

'根据属性名查找一个节点的属性值,函数名FindAtrributeValue(节点名称,属性名称)

function FindAtrributeValue(elementname,atrributename)

elementname="//"&elementname

atrributename=atrributename

set NodeObj=document.selectSingleNode(elementname)

FindAtrributeValue=NodeObj.GetAttributeNode(atrributename).Nodevalue

end function

'取得某个节点的子节点的个数,函数名GetNodesNumber(节点名称)

function GetNodesNumber(elementname)

elementname="//"&elementname

set objnodes=document.SelectSingleNode(elementname).ChildNodes

GetNodesNumber=objnodes.length

'set objnodes=nothing

end function

'以一个OBJ的形式返回一个节点的第I个子节点,函数名GetObjChildNode(根节点名称,参数I)

function GetObjChildNodes(elementname,i)

elementname="//"&elementname

set objnodes=document.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

'Loaddocument("GetHotelDetailsResponse.xml")

'response.Write(FindAtrributeValue("Image","path")&"<br>")

'response.Write(GetNodesNumber("RoomType")&"<br>")

'response.Write(GetObjChildNodes("RoomType",2).nodename&"<br>")

%>

文章页数:[1] 
放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·DOM的结构
·网络编程:如何生成XML数据
·论Asp与XML的关系
·使用DOM创建XML
·巧用XML做多语言界面的FLASH
·给 XML 初学者
·XML文档搜索使用小结
·在 Excel 2003 中创建 XML 映射
·XML技术上传文件
·WML——XML标记语言开发实例详细解析
最新文章
·论Asp与XML的关系
·使用DOM创建XML
·XML文档搜索使用小结
·XML技术上传文件
·给 XML 初学者
·WML——XML标记语言开发实例详细解析
·在 Excel 2003 中创建 XML 映射
·巧用XML做多语言界面的FLASH
·DOM的结构
·用XMLHTTP组件解析图片地址并保存
相关主题
版权申明:除部分特别声明不要转载,或者授权本站独家播发的文章外,大家可以自由转载本站的原创文章,但原作者和来自本站的链接必须保留(非本站原创的,按照原来自一节,自行链接)。文章版权归本站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去本站水印。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论  打印  刷新  推荐给朋友  返回顶部  关闭

网上大名: