您所在的位置:小祥子 » 编程 » ASP » 正文

ASP读取XML文件

时间:2015-01-30 编辑:佚名 来源:互联网

 我觉得本篇教程是相当实用的,总结了在ASP中操作XML文件的常见方法,包括新建XML操作对象、修改XML指定节点值、删除节点、选择节点值等,很实用:

技巧1、建立XML数据库,比如名称为data.xml:

<?xml version="1.0"?>
<records>
   <record>
      <name>nihao</name>
      <qq>123456789</qq>
      <email>user@admin.com</email>
   </record>
<records>

技巧2、建立data.xml的CreateObject操作对象:

set xmldoc=server.createobjcet("microsoft.xmldom")
xmldoc.load(server.mappath("data.xml")技巧3、选定节点SelectNode
你想操作哪个Node,必须定位到这个节点是不是,先看看这个data.xml有几个Node??
用一个递归函数搞定:

getnodes(xmldoc)
sub getnodes(node)
dim i
response.write("<br><b>NodeName:</b>"&node.nodename&"<br><b>NodeTypeString:</b>"&node.nodetypestring&"<br><b>NodeValue:</b>"&node.nodevalue&"<br><b>Text:</b>"&node.text&"<br><b>node.childnodes.length:</b>"&node.childnodes.length&"<p>")
if node.childnodes.length<>0 then
for i=0 to node.childnodes.length-1
getnodes(node.childnodes(i))
next
end if
end sub用本函数后,可以看到data.xml有10个Node,这些Node可以很简单的定位:

xmldoc
xmldoc.childnodes(0)
xmldoc.childnodes(1)
xmldoc.childnodes(1).childnodes(0)
xmldoc.childnodes(1).childnodes(0).childnodes(0)
xmldoc.childnodes(1).childnodes(0).childnodes(0).text
xmldoc.childnodes(1).childnodes(0).childnodes(1)
xmldoc.childnodes(1).childnodes(0).childnodes(1).text
xmldoc.childnodes(1).childnodes(0).childnodes(2)
xmldoc.childnodes(1).childnodes(0).childnodes(2).text还有个方法:比如要定位<name>,可以这样:
xmldoc.selectsinglenode("//name")
还可以这样:
mldoc.getelementsbytagname("name").item(0)

技巧4、删除一个节点DeleteNode。你必须明确你想删除的这个节点的父节点,以及这个节点的特征,例如:删除<qq>节点:
xmldoc.selectsinglenode("//record").removechild(xmldoc.selectsinglenode("//qq"))
例如:删除<name>=nihao的<record>
xmldoc.selectsinglenode("//records").removechild(xmldoc.selectsinglenode("//record[name='nihao']))
xmldoc.save(server.mappath("data.xml"))

技巧5、创建新的节点CreatenewNode.用createelement或者createnode("","","")
例如:在record下新建个<age>,只需要一句就搞定:xmldoc.selectsinglenode("//record").appendchild(xmldoc.createelement("<age>"))
给<age>赋值:

xmldoc.selectsinglenode("//age").text="20"
xmldoc.save(server.mappath("data.xml"))技巧6、给节点赋值(修改节点的值)。学会了定位节点,利用其属性,就可以修改或者赋值了,例如,把<name>的值nihao改为wawa

xmldoc.selectsinglenode("//name").text="wawa"
xmldoc.save(server.mappath("data.xml"))

关键词:ASP 读取 XML