DOM 简介



  • 定义和使用

    可以通过 XML DOM 访问所有 XML 元素。
    XML DOM 是:
    • XML 的标准对象模型
    • XML 的标准编程接口
    • 平台和语言无关
    • W3C 标准
    换句话说:XML DOM 是如何获取,更改,添加或删除 XML 元素的标准。
  • 获取 XML 元素的值

    此代码检索XML文档中第一个<title>元素的文本值:
    txt = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
    
    
  • 加载 XML 文件

    以下示例中使用的 XML 文件是 books.xml
    本示例将“books.xml”读入xmlDoc并检索books.xml中第一个<title>元素的文本值:
    <!DOCTYPE html>
    <html>
    <body>
        <p id="demo"></p>
        <script>
            var xhttp = new XMLHttpRequest();
            xhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                  myFunction(this);
                }
            };
            xhttp.open("GET", "/jc_script/xml/books.xml", true);
            xhttp.send();
            function myFunction(xml) {
                var xmlDoc = xml.responseXML;
                document.getElementById("demo").innerHTML =
                xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
            }   
        </script>
    
    </body>
    </html>
    
    
    示例解释:
    • xmlDoc-解析器创建的XML DOM对象。
    • getElementsByTagName("title")[0]-获取第一个<title>元素
    • childNodes[0]-<title>元素的第一个子元素(文本节点)
    • nodeValue-节点的值(文本本身)
  • 加载 XML 字符串

    本示例将文本字符串加载到 XML DOM 对象中,并使用 JavaScript 从中提取信息:
    <!DOCTYPE html>
    <html>
    <body>
        <p id="demo"></p>
        <script>
            var text, parser, xmlDoc;
            text = "</bookstore></book>" +
            "<title>日常意大利语</title>" +
            "<author>贾达·德·劳伦蒂斯</author>" +
            "<year>2005</year>" +
            "</book></bookstore>";
    
            parser = new DOMParser();
            xmlDoc = parser.parseFromString(text,"text/xml");
    
            document.getElementById("demo").innerHTML =
            xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
        </script>
    
    </body>
    </html>
    
    
  • DOM 编程

    DOM 将 XML 建模为一组节点对象;可以使用 JavaScript 或其他编程语言来访问节点;在本教程中,我们使用JavaScript。
    DOM 的编程接口由一组标准的属性和方法定义。
    属性通常被称为是(即节点名是“book”)。
    方法通常被称为已完成的事情(即删除“book”)。
  • XML DOM 属性

    这些是一些典型的DOM属性:
    • x.nodeName-x的名称
    • x.nodeValue-x的值
    • x.parentNode-x的父节点
    • x.childNodes-x的子节点
    • x.attributes-x的属性节点
    注意:在上面的列表中,x是节点对象。
  • XML DOM 方法

    x.getElementsByTagName(name)-获取具有指定标签名称的所有元素
    x.appendChild(node)-将子节点插入 x
    x.removeChild(node)-从 x 移除一个子节点
    注意:在上面的列表中,x 是节点对象。