不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
asp操纵xml类
编辑:dnawo 日期:2007-01-03
<%
Class cls_xml
private sfilename
private sxmlfile
private sobjxml
property let filename(value)
sfilename=value
end property
property get filename
filename=sfilename
end property
property get objxml
set objxml=sobjxml
end property
private sub class_initialize()
sfilename=""
sxmlfile=""
sobjxml=null
end sub
private sub class_terminate()
sobjxml.close
set sobjxml=nothing
end sub
private sub createfile()'创建xml文件
Set oPI=sobjXML.createProcessingInstruction("xml", "version=""1.0"" encoding=""GB2312""")
sobjXML.insertBefore oPI,sobjXML.childNodes(0)
savefile
end sub
public function loadfile()'读取xml文件
sxmlfile=server.MapPath(sfilename)
set sobjxml=server.CreateObject("msxml2.domdocument")
sobjxml.load(sxmlfile)
sobjxml.async=false
if sobjxml.parseError.ErrorCode = 0 then
loadfile=true
else
createfile
end if
end function
public sub addnode(byval parentnode,byval childnode,byval nodetext)'添加节点
if parentnode="" then
sobjxml.appendchild (sobjxml.createElement(childnode))
else
set child=sobjxml.createElement(childnode)
child.text=nodetext
sobjxml.selectsinglenode(parentnode).appendchild child
end if
end sub
public sub addattr(byval parentnode,byval attrtype,byval attrname,byval attrtext)'添加属性
set sattribute=sobjxml.createNode(attrtype,attrname,"")
sattribute.text=attrtext
if parentnode="" then
sobjxml.documentElement.setattributenode sattribute
else
sobjxml.documentElement.selectsinglenode(parentnode).setattributenode sattribute
end if
savefile
end sub
private function getnode(byval nodepath,byval attrname,byval attrvalue)'获得节点对象
if attrname="" then
set getnode=sobjxml.documentElement.selectsinglenode(nodepath)
else
set getnode=sobjxml.documentElement.selectsinglenode("//"&nodepath&"[@"&attrname&"='"&attrvalue&"']")
end if
end function
public function getnodename(byval nodepath,byval attrname,byval attrvalue)'获得节点名称
getnodename=getnode(nodepath,attrname,attrvalue).nodename
end function
public function getnodevalue(byval nodepath,byval attrname,byval attrvalue)'获得节点内容
getnodevalue=getnode(nodepath,attrname,attrvalue).text
end function
public sub modifynodevalue(byval nodepath,byval newtext,byval attrname,byval attrvalue)'修改节点内容
set newnode=getnode(nodepath,attrname,attrvalue)
newnode.text=newtext
savefile
end sub
public function getnodeattrname(byval nodepath,byval attrname,byval attrname_,byval attrvalue_)'获得节点属性名称
getnodeattrname=getnode(nodepath,attrname_,attrvalue_).getattributenode(attrname).nodename
end function
public function getnodeattrvalue(byval nodepath,byval attrname,byval attrname_,byval attrvalue_)'获得节点属性值
getnodeattrvalue=getnode(nodepath,attrname_,attrvalue_).getattributenode(attrname).nodevalue
end function
public sub modifynodeattrvalue(byval nodepath,byval attrname,byval newtext,byval attrname_,byval attrvalue_)'修改节点属性值
set newattr=getnode(nodepath,attrname_,attrvalue_).getattributenode(attrname)
newattr.text=newtext
savefile
end sub
public sub delnode(byval parentnodepath,byval parentnodeattrname,byval parentnodeattrvalue,byval childnodepath,byval childnodeattrname,byval childnodeattrvalue)'删除节点
if parentnodepath="" then
set parentnode=sobjxml.documentElement
else
set parentnode=getnode(parentnodepath,parentnodeattrname,parentnodeattrvalue)
end if
set childnode=getnode(childnodepath,childnodeattrname,childnodeattrvalue)
parentnode.removechild childnode
savefile
end sub
public function getchildlength(byval nodename,byval attrname,byval attrvalue)'获得节点长度
if nodename="" then
getchildlength=sobjxml.documentElement.childnodes.length
else
getchildlength=getnode(nodename,attrname,attrvalue).childnodes.length
end if
end function
private sub savefile()'保存文件
sobjxml.save(sxmlfile)
end sub
End class
%>
Class cls_xml
private sfilename
private sxmlfile
private sobjxml
property let filename(value)
sfilename=value
end property
property get filename
filename=sfilename
end property
property get objxml
set objxml=sobjxml
end property
private sub class_initialize()
sfilename=""
sxmlfile=""
sobjxml=null
end sub
private sub class_terminate()
sobjxml.close
set sobjxml=nothing
end sub
private sub createfile()'创建xml文件
Set oPI=sobjXML.createProcessingInstruction("xml", "version=""1.0"" encoding=""GB2312""")
sobjXML.insertBefore oPI,sobjXML.childNodes(0)
savefile
end sub
public function loadfile()'读取xml文件
sxmlfile=server.MapPath(sfilename)
set sobjxml=server.CreateObject("msxml2.domdocument")
sobjxml.load(sxmlfile)
sobjxml.async=false
if sobjxml.parseError.ErrorCode = 0 then
loadfile=true
else
createfile
end if
end function
public sub addnode(byval parentnode,byval childnode,byval nodetext)'添加节点
if parentnode="" then
sobjxml.appendchild (sobjxml.createElement(childnode))
else
set child=sobjxml.createElement(childnode)
child.text=nodetext
sobjxml.selectsinglenode(parentnode).appendchild child
end if
end sub
public sub addattr(byval parentnode,byval attrtype,byval attrname,byval attrtext)'添加属性
set sattribute=sobjxml.createNode(attrtype,attrname,"")
sattribute.text=attrtext
if parentnode="" then
sobjxml.documentElement.setattributenode sattribute
else
sobjxml.documentElement.selectsinglenode(parentnode).setattributenode sattribute
end if
savefile
end sub
private function getnode(byval nodepath,byval attrname,byval attrvalue)'获得节点对象
if attrname="" then
set getnode=sobjxml.documentElement.selectsinglenode(nodepath)
else
set getnode=sobjxml.documentElement.selectsinglenode("//"&nodepath&"[@"&attrname&"='"&attrvalue&"']")
end if
end function
public function getnodename(byval nodepath,byval attrname,byval attrvalue)'获得节点名称
getnodename=getnode(nodepath,attrname,attrvalue).nodename
end function
public function getnodevalue(byval nodepath,byval attrname,byval attrvalue)'获得节点内容
getnodevalue=getnode(nodepath,attrname,attrvalue).text
end function
public sub modifynodevalue(byval nodepath,byval newtext,byval attrname,byval attrvalue)'修改节点内容
set newnode=getnode(nodepath,attrname,attrvalue)
newnode.text=newtext
savefile
end sub
public function getnodeattrname(byval nodepath,byval attrname,byval attrname_,byval attrvalue_)'获得节点属性名称
getnodeattrname=getnode(nodepath,attrname_,attrvalue_).getattributenode(attrname).nodename
end function
public function getnodeattrvalue(byval nodepath,byval attrname,byval attrname_,byval attrvalue_)'获得节点属性值
getnodeattrvalue=getnode(nodepath,attrname_,attrvalue_).getattributenode(attrname).nodevalue
end function
public sub modifynodeattrvalue(byval nodepath,byval attrname,byval newtext,byval attrname_,byval attrvalue_)'修改节点属性值
set newattr=getnode(nodepath,attrname_,attrvalue_).getattributenode(attrname)
newattr.text=newtext
savefile
end sub
public sub delnode(byval parentnodepath,byval parentnodeattrname,byval parentnodeattrvalue,byval childnodepath,byval childnodeattrname,byval childnodeattrvalue)'删除节点
if parentnodepath="" then
set parentnode=sobjxml.documentElement
else
set parentnode=getnode(parentnodepath,parentnodeattrname,parentnodeattrvalue)
end if
set childnode=getnode(childnodepath,childnodeattrname,childnodeattrvalue)
parentnode.removechild childnode
savefile
end sub
public function getchildlength(byval nodename,byval attrname,byval attrvalue)'获得节点长度
if nodename="" then
getchildlength=sobjxml.documentElement.childnodes.length
else
getchildlength=getnode(nodename,attrname,attrvalue).childnodes.length
end if
end function
private sub savefile()'保存文件
sobjxml.save(sxmlfile)
end sub
End class
%>
评论: 1 | 引用: 0 | 查看次数: 4298
发表评论
请登录后再发表评论!