zoukankan      html  css  js  c++  java
  • XML DOM

    XML DOM

     

    DOM (Document Object Model,文档对象模型)定义了访问和操作文档的标准方法。

    XML DOM

    XML DOM (XML Document Object Model) 定义了访问和操作 XML 文档的标准方法。

    DOM 把 XML 文档作为树结构来查看。能够通过 DOM 树来访问所有元素。可以修改或删除它们的内容,并创建新的元素。元素,它们的文本,以及它们的属性,都被认为是节点。

    在下面的例子中,我们使用 DOM 引用从 <to> 元素中获取文本:

    xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue
    • xmlDoc -由解析器创建的 XML 文档
    • getElementsByTagName("to")[0] - 第一个 <to> 元素
    • childNodes[0] - <to> 元素的第一个子元素(文本节点)
    • nodeValue - 节点的值(文本本身)

    HTML DOM

    HTML DOM (HTML Document Object Model) 定义了访问和操作 HTML 文档的标准方法。

    可以通过 HTML DOM 访问所有 HTML 元素。

    在下面的例子中,我们使用 DOM 引用来改变 id="to" 的 HTML 元素的文本:

    document.getElementById("to").innerHTML=
    • document - HTML 文档
    • getElementById("to") - 其中的 id="to" 的 HTML 元素
    • innerHTML - HTML 元素的内部文本

    解析 XML 文件 - 跨浏览器实例

    下列代码把一个 XML 文档 ("note.xml") 载入 XML 解析器中:

    <html>
    <body>
    <h1>W3School.com.cn Internal Note</h1>
    <p><b>To:</b> <span id="to"></span><br />
    <b>From:</b> <span id="from"></span><br />
    <b>Message:</b> <span id="message"></span>
    
    <script type="text/javascript">
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.open("GET","note.xml",false);
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML;
    
    document.getElementById("to").innerHTML=
    xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
    
    document.getElementById("from").innerHTML=
    xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
    
    document.getElementById("message").innerHTML=
    xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
    </script>
    
    </body>
    </html>
    

    输出:

    W3School.com.cn Internal Note
    
    To: George
    From: John
    Message: Don't forget the meeting! 
    

    重要注释

    如需从 XML 中提取文本 "John",语法是:

    getElementsByTagName("from")[0].childNodes[0].nodeValue

    在上例中,只有一个 <from> 标签,但是仍然需要规定数组的下标 [0],这是因为 getElementsByTagName() 方法会返回包含所有 <from> 节点的数组。

    解析 XML 字符串 - 跨浏览器实例

    下面的代码加载并解析一个 XML 字符串:

    <html>
    <body>
    <h1>W3School.com.cn Internal Note</h1>
    <p><b>To:</b> <span id="to"></span><br />
    <b>From:</b> <span id="from"></span><br />
    <b>Message:</b> <span id="message"></span></p>
    
    <script>
    txt="<note>";
    txt=txt+"<to>George</to>";
    txt=txt+"<from>John</from>";
    txt=txt+"<heading>Reminder</heading>";
    txt=txt+"<body>Don't forget the meeting!</body>";
    txt=txt+"</note>";
    
    if (window.DOMParser)
      {
      parser=new DOMParser();
      xmlDoc=parser.parseFromString(txt,"text/xml");
      }
    else // Internet Explorer
      {
      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async="false";
      xmlDoc.loadXML(txt);
      }
    
    document.getElementById("to").innerHTML=
    xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
    
    document.getElementById("from").innerHTML=
    xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
    
    document.getElementById("message").innerHTML=
    xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
    </script>
    </body>
    </html>
    

    输出:

    W3School.com.cn Internal Note
    
    To: George
    From: John
    Message: Don't forget the meeting!
    
  • 相关阅读:
    burpsuite-小结
    docker化安装apollo
    Linux Shell基础篇——变量
    Linux 用户篇——用户管理命令之id、whoami、su、chage
    Linux 用户篇——用户管理命令之useradd、passwd、userdel、usermod
    Linux 用户篇——用户管理的配置文件
    Linux 基础——常用的Linux网络命令
    Linux 基础——关机重启命令shutdown、reboot等
    Linux 基础——文件搜索命令find
    Linux 基础——权限管理命令chown、chgrp
  • 原文地址:https://www.cnblogs.com/shaohz2014/p/3896278.html
Copyright © 2011-2022 走看看