网络编程
位置:首页>> 网络编程>> XML编程>> 让XML在ASP中发挥其长处(2)

让XML在ASP中发挥其长处(2)

 来源:网奇 发布时间:2008-01-16 19:07:00 

标签:xml,asp,数据

下面是作者搜集和整理后的一些读取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>")
%>

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com