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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vuex中mapGetters「建议收藏」

    vuex中mapGetters「建议收藏」vuex为了更快捷解决组件之间相互传值问题不划分模块结构目录index.js:importVuefrom’vue’importVuexfrom’vuex’importrouterfrom’@/router’import{getToken,setToken,removeToken}from’@/common/utils/auth’import{getInfo,getDeptUserTreeList,initGetToke…

    2022年6月6日
    36
  • 【强化学习】GAIL生成对抗模仿学习详解《Generative adversarial imitation learning》

    【强化学习】GAIL生成对抗模仿学习详解《Generative adversarial imitation learning》通过深度强化学习,我们能够让机器人针对一个任务实现从0到1的学习,但是需要我们定义出reward函数,在很多复杂任务,例如无人驾驶中,很难根据状态特征来建立一个科学合理的reward。人类学习新东西有一个重要的方法就是模仿学习,通过观察别人的动作来模仿学习,不需要知道任务的reward函数。模仿学习就是希望机器能够通过观察模仿专家的行为来进行学习。OpenAI,DeepMind,Google…

    2022年9月19日
    6
  • 数据分析的具体案例(通过数据分析得到什么)

    今天给大家分享一个数据分析案例:线下连锁水果店销售数据分析案例,分析过程我也会以类动图的方式呈现给大家,真正意义上做到收藏即学会。目录1案例背景2问题确认与指标拆解题3问题解决思路4案例实操4.1利用分组分析找到亏损店铺做营销优化,实验验证结论4.2运用对比分析法解决哪类产品销售好的问题?4.3利用矩阵关联法找到销量好和利润高的品类4.4运用趋势分析法分析水果总需求如何?5结论分析报告1案例背景果多吃水果连锁超市是华北地区的热门线下水果超市。该超市覆盖华北5个省份,且在京津冀地区门

    2022年4月11日
    113
  • minicom指令_minicom 串口通信设置

    minicom指令_minicom 串口通信设置L文件捕获开关。打开时,所有到屏幕的输出也将被捕获到文件中。M发送modem初始化串。若你online,且DCD线设为on,则modem被初始化前将要求你进行确认。O配置minicom。转到配置菜单。P通信参数。允许你改变bps速率,奇偶校验和位数。Q不复位modem就退出minicom。如果改变了macros,而且未存盘,会提供你一个save的机会。R接收文件。从各种协议(外部)中进行选择。若f…

    2022年4月29日
    262
  • 西部数据发布MAMR技术 预计2032年实现100TB磁盘驱动器

    西部数据发布MAMR技术 预计2032年实现100TB磁盘驱动器

    2022年3月8日
    41
  • maven引入包不完全问题

    maven引入包不完全问题

    2020年11月9日
    177

发表回复

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

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