初识Xml(可扩展标记语言)

已被阅读 855 次 | 文章分类:html | 2018-05-08 09:41

Xml(Extensive Markup Language)与Html(Hypertext Markup Language)是相辅相成的,也可以说Xml是Html的补充,Html侧重数据内容的展示,Xml侧重数据内容的传输,因为及其简单的结构,XML成为了是各种应用程序之间进行数据传输的最常用的工具

一:Xml与Html设计宗旨不同

Html用来显示数据,注重数据的外观表现形式 Xml用来传输和存储数据,其焦点是数据的内容。

二:Xml与Html语法不同

HTML不是所有标签都成对出现,xml要求标签必须成对,即要有开始和结束标签 HTML的标签是符合w3c标准已定义的标签,xml的标签没有被预定义,需要自定义具有描述意义的标签。

三:Xml文件实例

                                            
<note>
  <message>
    <to>George</to>
    <from>John</from>
    <heading>Reminder</heading>
    <body>Don't forget the meeting!</body>
  </message>
  <message>
    <to>pop</to>
    <from>lily</from>
    <heading>Reminder</heading>
    <body>Don't forget the meeting!</body>
  </message>
</note>
                                            
                                        

四:Xml文件解析,以上面的实例文件为例

所有现代浏览器都内建了供读取和操作XML的XML解析器。解析器把XML转换为XML DOM 对象 - 可通过 JavaScript 操作的对象

                                            
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "note.xml", false);
xmlhttp.send();
var xmlDoc = xmlhttp.responseXML;
var result=xmlDoc.getElementsByTagName("to")[1].childNodes[0].nodeValue
console.log(result); //pop
                                            
                                        

1.第一行实例化一个解析器对象

2.第二行初始化 HTTP 请求参数,例如 URL 和 HTTP 方法,但是并不发送请求。

3.第三行发送 HTTP 请求,使用传递给 open() 方法的参数,以及传递给该方法的可选请求体。

4.第四行对请求的响应,解析为 XML 并作为 Document 对象返回

5.第五行通过javascript操作xmldom对象获取数据,获取第二个to元素的第一个节点的节点值

五:通过微软解析器解析xml文档

                                            
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("note.xml");
                                            
                                        

1.上面代码的第一个行创建一个空的微软 XML 文档对象。 2.第二行关闭异步加载,这样确保在文档完全加载之前解析器不会继续脚本的执行。 3.第三行告知解析器加载名为 "note.xml" 的 XML 文档。

六:FF与Opera浏览器解析Xml

                                            
var xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("note.xml");
                                            
                                        

不过目前浏览器不支持document.load()方式解析文件,推荐使用DOM XmlHttpRequest.

QQ:3410192267 | 技术支持 微信:popstarqqsmall

Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号