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

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

<%

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

%>

标签:xml,函数,asp
0
投稿

猜你喜欢

  • 妙用dw图层与表格进行网页布局

    2009-07-14 21:57:00
  • 重命名SQLServer数据库的方法

    2012-07-11 15:39:37
  • ASP URL反编码函数代码

    2011-02-28 11:04:00
  • 用Oracle并行查询发挥多CPU的威力

    2010-07-23 12:52:00
  • 常用的数据库访问方式是什么?

    2009-11-01 15:08:00
  • 使用MyISAM表和InnoDB的一些记录

    2009-12-20 18:21:00
  • base href 使用方法详解

    2008-05-18 13:27:00
  • ASP.NET 2.0中Gridview控件高级技巧图文教程

    2007-08-07 15:46:00
  • CSS编写过程中常见的10个错误

    2008-05-29 12:49:00
  • 分享到豆瓣、百度空间、新浪微博的js代码

    2011-03-17 12:58:00
  • mysql 重启方法(初学者)

    2010-12-03 16:40:00
  • Oracle误添加数据文件删除方法

    2009-07-02 12:21:00
  • asp如何直接调用Excel数据?

    2010-06-28 18:26:00
  • 略谈美国雅虎首页改版

    2009-07-26 18:34:00
  • 用ASP和SQL实现基于Web日历源码

    2010-04-24 15:52:00
  • Access 2002的三个实用技巧

    2007-10-22 12:22:00
  • CSS sprites图片拼合生成器

    2007-10-15 12:25:00
  • 分类、属性、关键词与Tag

    2009-08-27 12:57:00
  • ul设置浮动后不能自适应高度

    2011-01-25 12:48:00
  • YUI Compressor快速使用指南

    2011-06-27 20:07:30
  • asp之家 网络编程 m.aspxhome.com