• XML DOM(Document Object Model)


    1、XML DOM 是用于获取、更改、添加或删除 XML 元素的标准。
    2、节点(XML 文档中的每个成分都是一个节点):
            整个文档是一个文档节点;
            每个XML元素是一个元素节点;
            包含在XML元素中的文本是文本节点;
            每一个XML属性是一个属性节点;
            注释是注释节点;

    3、加载XML文档   

        if (window.XMLHttpRequest)
        {
          // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
          xhttp=new XMLHttpRequest();    //创建XMHHTTP对象
        }
        else
        {
          // IE6, IE5 浏览器执行代码
          xhttp=new ActiveXObject("Microsoft.XMLHTTP");//创建XMHHTTP对象
        }
        xhttp.open("GET","books.xml",false);    //打开XMLHTTP对象
        xhttp.send();    //向服务器发送请求
        xmlDoc=xhttp.responseXML;    //设置响应为XML DOM对象

    4、加载XML字符串

        if (window.DOMParser)
        {
          parser=new DOMParser();
          xmlDoc=parser.parseFromString(text,"text/xml");
        }
        else
        {
           // Internet Explorer
          xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.async=false;
          xmlDoc.loadXML(text); 
        }

    5、XML DOM Node对象

        属性
        (xmlDoc文档节点,documentElement根节点)
        nodeName         节点的名称;元素的标签名,属性的是属性名,文本的是#text,文档的是#documennt;
        nodeValue        节点的值;元素是undefined,文本是本身,属性是属性值;
        nodeType         节点类型;元素1,属性2,文本3,注释8,文档9;
        parentNode       节点的父节点;
        childNode        节点的子节点;
        childNodes       节点的子节点列表;
        lastChild        节点的最后一个子节点;
        firstChild       节点的第一个子节点
        neSibling        下一下同级节点
        previousSibling  上一个同级节点
        attributes       节点的属性节点;
        length           节点列表的长度,即节点数量
        baseUri          节点的绝对基准URI
        localName        节点名称的本地部分;
        namespaceURI     节点命名空间URI;
        ownerDocument    节点根元素;
        prefix           设置或返回节点命名空间前缀;
        textContent      返回节点及其子节点的文本内容;
    对象方法 x.getElementsByTagName(name) 获取带有指定标签名称的所有元素;多个同级节点用[n]数组位进行定位区分; x.getAttributeNode(name) 获取name的属性; x.setAttributeNode(node) 改变节点属性; x.setAttribute(attr,str) 改变或新建属性; xmlDoc.createAttribute(name) 创建属性节点;后用setAttributeNode将节点添加到相应位置 x.appendChild(node) 向x插入子节点; x.removeChild(node) 向x删除子节点;删除节点本身x.parentNode.removeChild(x); x.replaceChild() 替换子节点; xmlDoc.createElement(name) 创建元素节点,后需要用appendChild(node)来添加到节点树中去; xmlDoc.createTextNode(name) 创建文本节点;后需要用appendChild(node)来添加到节点树中去; xmlDoc.createCDATASection(name) 创建CDATA Section节点; xmlDoc.createComment(str) 创建注释节点,后需要用appendChild(node)来添加到节点树中去; x.insertData(offset,str) 向文本节点添加文本,offset为开始添加位置; x.cloneNode(bool) 复制节点,参数用于指示被克隆的节点是否包括原节点的所有属性和子节点; x.compareDocumentPosition(node) 比较两个节点的文档位置; x.hasAttributes() 返回节点是否拥有某属性; x.hasChildNodes() 返回节点是否拥有子节点; x.insertBefore() 在已有节点前插入节点; x.isEqualNode() 比较两个节点是否相等; x.isSameNode() 检查两个节点是否是同一个节点; x.lookupNamespaceURI() 返回匹配指定前缀的命名空间URI; x.lookPrefix() 返回匹配指定命名空间URI的前缀; x.getFeature(feature,version) 返回DOM对象,此对象可执行带有指定特性和版本的专门的API; x.getUserData(key) 返回与节点上键关联的对象; x.isSupported(feature,version) 返回指定特性是否在此节点上得到支持; x.setUserData(key,data,handler) 把对象关联到节点上的键; x.normalize() 把节点下的所有文本节点放置到一个“标准”的格式中;

    6、XML DOM Document对象

        属性
        nodeName           节点名称;
        nodeType           节点类型;
        nodeValue          节点值;
        async              规定XML文件的下载是否应当被异步处理;
        childNodes         返回文档的子节点的列表;
        doctype            返回与文档相关的文档类型;
        documentElement    返回文档根节点;
        documentURI        设置或返回文档的位置;
        domConfig          返回normalizeDocument()    被调用时所使用的配置;
        firstChild         返回文档的第一个子节点;
        lastChild          返回文档的最后一个子节点;
        implementation     返回处理该文档的DOMImplementation对象;
        inputEncoding      返回文档的编码方式;
        strictErrorChecking设置或返回是否强制进行错误检查;
        xmlEncoding        返回文档的XML编码;
        xmlVersion         设置或返回文档的XML版本;
        xmlStandalone      设置或返回文档是否为standalone;
    方法 adoptNode(sourceenode) 从另一个文档向本文档选定一个节点,然后返回被选节点; createAttribute(name) 创建带有指定名称的属性节点; createAttributeNS(uri,name) 创建带有指定名称和命名空间的属性节点; createCDATASection() 创建CDATA区段节点; createComment() 创建注释节点; createDocumentFragment() 创建空的DocumentFragment对象,并返回此对象; createElement() 创建元素节点; createElementNS() 创建带有指定命名空间的元素节点; createEntityReference(name) 创建EntityReference对象,并返回此对象; createProcessingInstruction() 创建ProcessingInstruction对象,并返回此对象; createTextNode() 创建文本节点;后需要用appendChild; getElementById(id) 返回指定Id属性的元素,如果不存在则返回null; getElementByTagName() 返回带有指定名称的所有元素的NodeList; getElementByTagNameNS() 返回带有指定名称和命名空间的所有元素的NodeList; importNode(nodetoimport,deep) 从另一个文档向本文档选定一个节点。该方法创建源节点的一个副本。如果deep为true,则将导入指定节点的所有子节点,否则只导入节点本身; normalizeDocument() 把节点下的所有文本节点放置到一个“标准”的格式中; renameNode() 重命名元素或属性节点;

    7、XML DOM Element对象

    因为Element也是一种节点,所以它可以继承Node对象的属性和方法;以下是除Node所具有外的属性和方法。

        属性
        tagName            返回元素的名称;
        schemaTypeInfo     返回与元素相关联的类型信息;
    方法 getAttributeNS() 返回带命名空间的属性值; getAttributeNodeNS() 以attribute对象返回带命名空间的属性节点; getElementByTagNameNS() 返回匹配的带有命名空间的节点及子节点的NodeList; setAttributeNS() 添加新的带命名空间的属性; setAttributeNodeNS() 添加新的带命名空间属性节点; hasAttributeNS() 返回元素是否拥有匹配指定名称和命名空间的属性; removeAttribute() 删除指定属性; removeAttributeNS() 删除指定带有命名空间的属性; removeAttributeNode() 删除指定的属性节点;

    8、XML DOM Attr对象

        属性
        name             属性的名称;
        localName        属性的名称本地部分;
        namespaceURI     属性命名空间URI;
        nodeName         节点名称;
        nodeType         节点类型;
        nodeValue        节点值;
        baseURI          返回属性的绝对基准URI;
        isId             返回属性是否是Id类型的bool值;
        ownerDocument    返回属性所属的根元素;
        ownerElement     返回属性所附属元素的节点;
        prefix           命名空间前缀;
        schemaTypeInfo   与属性相关联的类型信息;
        specified        如果属性值被设置在文档中,返回true,否则false;
        textContent      属性的文本内容;
        value            属性的值;

    9、XML DOM Text    对象

        属性
        data          元素或属性的文本;
        length        元素或属性的文本长度;
        wholeText     以文档的顺序向此节点返回相邻文本节点的所有文本;
        isElementContentWhitespace    判断文本节点是否包含空白字符;
    
        方法
        appendData()        向节点追加数据;
        deleteData()        从节点删除数据;
        insertData()        向节点插入数据;
        replaceData()       替换节点数据;
        replaceWholeText()  用指定文本来替换此节点及所有相邻的文本节点;
        splitText()         在指定偏移处将此节点拆分为两个节点,同时返回包含偏移处之后的文本的新节点;
        substringData()     从节点提取数据;

    10、XML DOM CDATASection对象

        属性
        data          节点文本;
        length        长度;
    方法 appendData() 向节点追加数据; deleteData() 从节点删除数据; insertData() 向节点插入数据; replaceData() 替换节点数据; splitText() 在指定偏移处将此节点拆分为两个节点,同时返回包含偏移处之后的文本的新节点; substringData() 从节点提取数据;

    11、XML DOM Comment对象

        属性
        data          节点文本;
        length        长度;
    方法 appendData() 向节点追加数据; deleteData() 从节点删除数据; insertData() 向节点插入数据; replaceData() 替换节点数据; splitText() 在指定偏移处将此节点拆分为两个节点,同时返回包含偏移处之后的文本的新节点; substringData() 从节点提取数据;

    12、XMLHttpRequest对象

        属性
        responseXML        作为XML数据响应数据;
        responseText       返回作为一个字符串的响应数据;
        status             返回状态数;
        statusText         返回状态文本;
        onreadystatechange 存储函数,在每次readyState属性变化时被调用;
        readyState         存放了XMLHttpRequest的状态,0请求未初始化,1服务器建立连接,2收到的请求,3处理请求,4请求完成和响应准备就绪;
    方法 send(string) 发送请求到服务器,sttring仅用于POST请求; abort() 取消当前请求; open(method,url,async,uname,pswd) 规定请求类型; getResponseHeader() 返回指定的头信息; getAllResponseHeaders() 返回头信息; setRequestHeader() 把值添加到要发送的头文件;
  • 相关阅读:
    fastJson
    关于mybatis “org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)” 错误的问题。
    JVM——自定义类加载器
    NumberFormat数字格式化
    Java BigDecimal详解
    NumberUtils、ArrayUtils和RandomUtils工具类用法
    itext 生成 PDF(二)
    C语言中的可变参数列表
    归并排序--c语言实现
    机器学习实战学习笔记 一 k-近邻算法
  • 原文地址:https://www.cnblogs.com/aland-1415/p/9010947.html
Copyright © 2020-2023  润新知