• [Grt]一篇简单概括XML


    一、XML基础

    XML主要用途(我认为就这三点):

      XML 把数据从 HTML 分离
      XML 简化数据共享
      XML 简化数据传输

     

    XML 语法规则:

    • XML 文档必须有根元素
    • XML 文档必须有关闭标签
    • XML 标签对大小写敏感
    • XML 元素必须被正确的嵌套
    • XML 属性必须加引号        例如:<note date="08/08/2008">
    • XML 注释 : <!-- This is a comment --> 

     

    例如:

    <?xml version="1.0" encoding="ISO-8859-1"?>          //定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
    <?xml-stylesheet type="text/css" href="cd_catalog.css"?>  //引用css文件
    <?xml-stylesheet type="text/xsl" href="simple.xsl"?>    //使用XLST
    
    <note>                          //根元素 note 
      <to>George</to>                   //子元素 to 
      <from>John</from>                  //子元素 from
      <heading>Reminder</heading>
      <body>Don't forget the meeting!</body>
    </note>
    

      

    在 XML 中, 5 个预定义的实体引用:

    &lt; < 小于
    &gt; > 大于
    &amp; & 和号
    &apos; ' 单引号
    &quot; " 引号
    
    

    二、高级

    1、使用前缀来避免命名冲突

    <h:table>
      <h:tr>
        <h:td>Apples</h:td>
        <h:td>Bananas</h:td>
      </h:tr>
    </h:table>
    

    2、让XML解析器不解析:

    CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:

    <script>
    <![CDATA[
    function matchwo(a,b)
    {
    if (a < b && a < 0) then
      {
      return 1;
      }
    else
      {
      return 0;
      }
    }
    ]]>
    </script>
    

      

    三、XML JavaScript

    1、XMLHttpRequest 对象用于在后台与服务器交换数据
    创建 XMLHttpRequest 对象的语法:

    xmlhttp=new XMLHttpRequest();

    老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:

    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    XML / ASP
    把 XML 文档打开并发送到服务器上的 ASP 页面,分析此请求,然后传回结果。

    <html>
    <body>
    <script type="text/javascript">
    xmlHttp=null;
    if (window.XMLHttpRequest)
    {// code for IE7, Firefox, Opera, etc.
    xmlHttp=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {// code for IE6, IE5
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xmlHttp!=null)
    {
    xmlHttp.open("GET", "note.xml", false);
    xmlHttp.send(null);
    xmlDoc=xmlHttp.responseText;
    
    xmlHttp.open("POST", "demo_dom_http.asp", false);
    xmlHttp.send(xmlDoc);
    document.write(xmlHttp.responseText);
    }
    else
    {
    alert("Your browser does not support XMLHTTP.");
    }
    </script>
    </body>
    </html>
    

    2、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> 元素的第一个子元素(文本节点)


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

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

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

    document.getElementById("to").innerHTML=
    

    示例,把一个 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>
    

    3、

    在 HTML 中显示 XML 数据

    遍历一个 XML 文件 (cd_catalog.xml),把每个 CD 元素显示为一个 HTML 表格行:

    <html>
    <body>
    
    <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","cd_catalog.xml",false);
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML;
    
    document.write("<table border='1'>");
    var x=xmlDoc.getElementsByTagName("CD");
    for (i=0;i<x.length;i++)
    {
    document.write("<tr><td>");
    document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
    document.write("</td><td>");
    document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
    document.write("</td></tr>");
    }
    document.write("</table>");
    </script>
    
    </body>
    </html>
    

      

  • 相关阅读:
    redis整合springboot
    安装k8s
    线程池工具类几种实现
    数据库mysql注意点及sql优化
    五年规划
    在 Ubuntu 16.04 安装ROS Kinetic 教程
    谈谈form-data请求格式 js
    C# Body为form-data file文件上传至第三方接口 http请求
    .net c# 使用form-data方式发起http请求
    使用form-data和raw作为body发起POST请求的区别
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11274747.html
Copyright © 2020-2023  润新知