当前位置 > 文字教程 > asp教程

ASP操作XML文件的完整实例

文章类别:asp | 发表日期:2008-10-5 20:38:57

<%
'----------------------------------------------------------------
'程序简介: 完成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 
%>