zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    idea常用快捷键及操作
    Ubuntu 装nexus
    ubuntu安装gitlab
    ubuntu安装jdk,maven,tomcat
    ubuntu安装gitlab-ci-runner、注册
    ubuntu开启远程shell,开启上传下载
    Ubuntu安装软件提示boot空间不足
    POJ3461 KMP简单变形输出模式串在主串出现的次数
    涨姿势stl map['a']['a']=b;
    对链表的操作(数据结构线性表算法设计练习)
  • 原文地址:https://www.cnblogs.com/shelley/p/1582515.html
Copyright © 2011-2022 走看看