ASP操作XML文件的完整实例代码

复制代码 代码如下:

  <%

  '----------------------------------------------------------------

  '程序简介: 完成asp语言对XML文档中指定节点文本的增加、删除、修改、查看

  '入口参数: 无

  '出口参数: 无

  '------------------------------------------------

  '函数名字:ConnectXml()

  '入口参数: filename 需要连接或打开的xml文件名

  '出口参数: 无

  '返回值 :ConnectXml=0,XMLMorntekDocument就是一个成功装载XML文档的对象了。

  ' ConnectXml<>0,则打印错误信息strError

  '------------------------------------------------

  dim XMLMorntekDocument

  function ConnectXml(filename)

  dim strSourceFile

  strSourceFile = Server.MapPath(filename)

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

  XMLMorntekDocument.async = false

  XMLMorntekDocument.load(strSourceFile)

  ConnectXml=XMLMorntekDocument.parseerror.errorcode

  if XMLMorntekDocument.parseerror.errorcode<>0 then

  strError="<h2>error"&XMLMorntekDocument.parseerror.errorcode&"</h2>"

  strError=strError&XMLMorntekDocument.parseerror.reason&"<br>"

  strError=strError&XMLMorntekDocument.parseerror.url&"<br>"

  strError=strError&XMLMorntekDocument.parseerror.line&"<br>"

  strError=strError&XMLMorntekDocument.parseerror.filepos&"<br>"

  strError=strError&XMLMorntekDocument.parseerror.srcText&"<br>"

  response.write strError

  end if

  end function

  '------------------------------------------------

  '函数名字:CloseXml()

  '入口参数: 无

  '出口参数: 无

  '------------------------------------------------

  function CloseXml(XMLMorntekDocument)

  if IsObject(XMLMorntekDocument) then

  set XMLMorntekDocument=nothing

  end if

  end function

  '------------------------------------------------

  '函数名字:SelectXmlNodeText(elementname)

  '入口参数: elementname 元素的名字

  '出口参数: 无

  '------------------------------------------------

  function SelectXmlNodeText(elementname)

  elementname="//"&elementname

  temp=XMLMorntekDocument.selectSingleNode(elementname).text

  selectXmlNodeText= server.htmlencode(temp)

  end function

  '------------------------------------------------

  '函数名字:InsertXmlNodeText(befelementname,elementname,elementtext)

  '入口参数: elementname 插入的元素的名字

  ' befelementname在此元素的名字前面插入元素

  ' elementtext 插入的元素的文本

  '出口参数: 无

  '------------------------------------------------

  function InsertXmlNodeText(befelementname,elementname,elementtext)

  dim befelement,element

  set befelement=XMLMorntekDocument.selectSingleNode("//"&befelementname)

  set element= XMLMorntekDocument.createelement(elementname)

  befelement.insertBefore element,befelement.firstchild

  element.text=elementtext

  end function

  '------------------------------------------------

  '函数名字:UpdateXmlNodeText(elementname,newelementtext)

  '入口参数: elementname 元素的名字

  ' newelementtext元素的新文本

  '出口参数: 无

  '------------------------------------------------

  function UpdateXmlNodeText(elementname,newelementtext)

  dim element

  set element=XMLMorntekDocument.selectSingleNode("//"&elementname)

  element.text=newelementtext

  end function

  '------------------------------------------------

  '函数名字:DeleteXmlNodeText(elementname)

  '入口参数: elementname 元素的名字

  '出口参数: 无

  '------------------------------------------------

  function DeleteXmlNodeText(elementname)

  XMLMorntekDocument.selectSingleNode("//"&elementname).text =""

  end function

  %>