ASP操作XML文件的完整实例

发表于:2007-06-30来源:作者:点击数: 标签:
% @#---------------------------------------------------------------- @#程序简介:完成asp语言对XML文档中指定节点文本的增加、删除、修改、查看 @#入口参数:无 @#出口参数:无 @#------------------------------------------------ @#函数名字:ConnectXml
<% 
@#---------------------------------------------------------------- 
@#程序简介: 完成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(".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  
%>

原文转自:http://www.ltesting.net