网络编程
位置:首页>> 网络编程>> XML编程>> asp 解析一个xml文件的公用函数集合

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

  发布时间:2008-02-29 13:40:00 

标签:xml,函数,asp

<%

'解析一个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

call LoadDocument("test.xml")
'response.Write(SelectXmlNodeText("v"))
for i=1 to GetNodesNumber("vlist")
response.Write(FindAtrributeValue("vid","id")&"<br>")
next
'查询一个节点里的文本内容,函数名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