Microsoft.XMLDOM相关资料

Microsoft.XMLDOM相关资料

[转] http://www.abasp.net/article/124.htm
'取得根节点
set dom=CreateObject("microsoft.xmldom")
dom.async=false
dom.load "c:\user.xml" 

set book1=rootNode.childNodes(1)
book1.ownerDocument 返回Document节点指向XML文档本身
book1.previousSibling 前一个节点
book1.parentNode 父节点
book1.firstChild 第一个子节点
book1.lastChild 最后一个子节点
book1.childNodes 子节点集合 

'添加节点
set node=rootNode.childNodes.item(0)
set newNode=myDocument.createElement("publisher")
set rtnNode=node.insertBefore(newNode,node.lastChild)
set textNode=myDocument.createTextNode("人民邮电出版社")
node.childNodes.item(1).appendChild(textNode) 

'删除节点
set node=root.childNodes.item(0)
set oldNode=node.removeChild(node.childNodes.item(4)) 

'修改节点 
set node=root.childNodes.item(0)
node.nodeValue="158" 

'常用DOM的方法 
createAttribute(属性的名字) 创建一个属性节点然后可以用setAttributeNode方法把该属性设置为某个元素的属性
createCDATASection(内容) 创建一个CDATA节点createMessage(内容) 创建一个注释节点值就是参数内容
createElement(名字) 创建元素节点
createEntityReference(名字) 创建一个实体引用节点如果被引用的实体是已知的那么该实体引用节点和相应的实体节点有同样的子节点集
createProcessingInstruction(处理指令的目标部分处理指令的数据部分) 创建一个具有指定名字和数据的处理指令节点
createTextNode(内容) 创建一个具有指定内容的文本节点 
Node的常用属性 
attributes
childNodes 子节点的集合
firstChild 第一个子节点 
lastChild 最后一个子节点
previousSibling 当前节点的前驱节点
nextSibling 当前节点的后继节点
nodeName 当前节点的名字
nodeType 节点类型
nodeValue 节点的值
parentNodes 父节点 
Node方法
appendChild(newChild) 添加到所有子节点的最后返回添加的节点
cloneNode(boolean deep) 复制当前节点复制产生的节点没有父节点返回复制的节点
hasChildNodes 无参数判断是否有子节点
createElement 创建元素节点
insertBefore(newChild,refChild) 把节点newChild插入到当前节点的子节点refChild之前返回插入的节点
removeChild(oldChild) 把子节点oldChild删除并返回oldChild节点replaceChild(newChild,oldChild) 替换节点返回被删除的节点 
NodeList
是动态的对文档的改变会直接反映到相关的NodeList对象中
属性length
Item(0)-Item(nodeList.length-1) 
NamedNodeMap
包含的节点是无序的表示节点和唯一名字的对应关系属性length
方法getNamedItem(name) 返回给定名称的节点
item(0...) 
removeNamedItem(name) 删除给定名称的节点
setNamedItem(name) 把给定节点名的节点添加到当前节点集中如果改名字节点已经存在替换 
ASP通过XMLDom在服务器端操作XML文件的主要方法和实现
对于小数据量xml文件在检索更新上于ACCESS有很多优势我曾经测试过不用数据库把网站的会员信息商品数据信息交易信息网站定制信息全部存放在三个xml文件中运行结果十分正常感觉上比数据库快多了不过没有作测试不能确定
下面说一下创建查询修改等对xml操作的主要方法
'创建DOM对象
set objDom=server.CreateObject("MicroSoft.XMLDom")
'取得xml数据
'方法1 取得xml文件的xml数据
objDom.load("c:\test.xml")
'方法2 取得xml数据串的数据
objDom.loadxml("<people><man name="sd"/></people>") 
'创建一个节点对象
Set Newnode=objDom.CreateElement("people")
'给这个节点赴值
Newnode.Text="人"
' 给这个节点添加属性
Set NewAttribute=objDom.CreateNode("attribute","name","") 
NewAttribute.Text= "张三"
Newnode.SetAttributeNode NewAttribute
'给这个节点添加子节点
Set NewnodeChild=objDom.CreateElement("address")
Newnode.appendChild NewnodeChild
'保存这个节点对象
objDom.appendChild Newnode
objDom.save("c:\test.xml")
'查找一个节点对象
set objtofind=objdom.documentElement.SelectSingleNode("//people/man")
'取出这个节点对象的 节点名,节点值,某个属性值,和全部的xml
nodename=objtofind.nodename
nodevalue=objtofind.text
objtofind.GetAttributeNode("name").Nodevalue ’属性名为name的属性值
'取出一个属性节点对象
set objattrtofind=objdom.documentElement.SelectSingleNode("//people/man"). GetAttributeNode("name")
'取出这个节点的属性名,属性值
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
'删除一个节点对象
set objnode=objdom.documentElement.SelectSingleNode("//people/man") ’要删除的节点
set objparentnode=objdom.documentElement.SelectSingleNode("//people") ’要删除的节点的父节点
objparentnode.removeChild objnode
'取出一个节点的字节点集合
set objnodes=objdom.documentElement.SelectSingleNode("//people/man").ChildNodes 

'遍历这个集合
'方法1 
for each element in objnodes
response.write element.nodename 字节点名
response.write element.text 字节点值 
next
'方法2
domlength=objnodes.length
for i = 0 to domlength-1
response.write objnodes.childnodes(i).nodename 字节点名
response.write objnodes.childnodes(i).text 字节点值
next 
'取出一个节点的属性集合
set objnodes=objdom.documentElement.SelectSingleNode("//people/man").GetAttributeNode("name").attributes 
'遍历这个集合
for each element in objnodes
response.write element.nodename 属性名
response.write element.nodevalue 属性值
next

转载于:https://www.cnblogs.com/shelley/archive/2009/10/13/1582515.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110855.html原文链接:https://javaforall.net

(0)
上一篇 2021年8月1日 下午4:00
下一篇 2021年8月1日 下午5:00


相关推荐

  • 豆包大模型联合润欣科技、老凤祥开发 AI 眼镜,预计明年初上市

    豆包大模型联合润欣科技、老凤祥开发 AI 眼镜,预计明年初上市

    2026年3月12日
    1
  • linux 挖矿脚本,挖矿脚本 | Wh0ale’s Blog「建议收藏」

    linux 挖矿脚本,挖矿脚本 | Wh0ale’s Blog「建议收藏」0x01挖矿概论所谓挖矿,其实就是通过计算机的计算能力获取数字货币。而矿池就是进行生产任务(挖矿)和生产利润的分配。一套挖矿流程大致如下:1、本地安装挖矿程序并启动2、挖矿程序向远程矿池请求计算的输入值3、远程矿池验证该用户并分配任务,发送计算初始值4、挖矿程序接受初始值并依照特定数字货币算法进行计算,得到计算结果并发送至矿池5、矿池接受计算结果并发送下一次计算的输入值0x02挖矿病毒主要特点1、…

    2022年7月13日
    25
  • 面试JAVA常被问到的问题(持续更新中)

    面试JAVA常被问到的问题(持续更新中)引言有的面试会被问到有没有写博客,这时候我尴尬,不知道怎么回答,所以这篇文章仅仅是把我面试JAVA的遇到的问题记录下来而已,也算是我写博客迈出的第一步,起码,以后被问到:有没有写博客?我可以回答,我写过。 (最主要的是以后换工作我不用频繁百度常见面试题了。。。。)ps1,别把我太当回事,我是个LJ;2,说得不对的地方请多多包涵,想看更详细的请百度官方文档和其他大佬的文章;3,如果有被问到…

    2022年7月9日
    25
  • shell 循环命令[通俗易懂]

    shell 循环命令[通俗易懂]1.for命令1.1for命令的使用bashshell提供了for命令,可以创建一个遍历一系列值的循环。每次一轮循环都使用其中一个值来执行已定义好的一组命令。下面是bashshell中for命令的基本格式。forvarinlistdocommandsdone还可以是这样的形式forvarinlist;do注意这里的list这不是shell的关键词,list只是想说明这是由数值,字符,字符串所组成的列表,for循环来遍历这

    2022年7月24日
    11
  • 前端开发博客_程序员的个人博客

    前端开发博客_程序员的个人博客国内技术团队博客,大多集中在前端,下面是这些前端技术团队的博客。还有少量非前端(或者不只是前端)的技术博客,单独整理到另一个列表中去了(点击前往)【腾讯】腾讯前端Web团队IMWEBhttp://imweb.ioIMWEB团队创立之初是负责腾讯最核心的基础业务:QQ注册、QQ登录(ptlogin)、QQ资料和关系链拓展等基础服务。后转型进行应用开发,分别投入Q+、QQ圈

    2022年8月13日
    3
  • c++入门教程–-8循环控制语句

    c++入门教程–-8循环控制语句

    2021年3月12日
    145

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号