XMl学习笔记01

前端之家收集整理的这篇文章主要介绍了XMl学习笔记01前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

01-什么是XML
XML 指可扩展标记语言(EXtensible Markup Language)
ML 的设计宗旨是传输数据,而非显示数据。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准。
XML 仅仅是纯文本。
HTML 旨在显示信息,而 XML 旨在传输信息,XML 是对 HTML 的补充。(区别)
对 XML 最好的描述是:XML 是独立于软件和硬件的信息传输工具。

02-XML语法规则
所有 XML 元素都须有关闭标签

<p>这 是 错 误 的~
 <p>这 是 正 确 的~</p>

XML 标签对大小写敏感

<message>这是正确的。</message> 
<Message>这是错误的。</message>

XML 必须正确地嵌套

<b><i>这 是 正 确 的~</i></b>

XML 文档必须有根元素

<root>
  <child>
    <subchild>这 是 正 确 的~</subchild>
  </child>
</root>

XML 的属性值须加引号

<note date="08/08/2008">
    <to>George</to>
    <from>John</from>
</note>

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

&it; < 小于 &gt; > 大于
&amp; & 和号
&apos; 单引号
&quot; 双引号

04-验证 XML 文档
通过 DTD 验证的 XML 是“合法”的 XML。
W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema。

05-XML XSLT
注释:使用 CSS 格式化 XML 不是常用的方法,更不能代表 XML 文档样式化的未来。W3C 推荐使用 XSLT。
XSLT 是首选的 XML 样式表语言。
XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善。

<?xml version="1.0" encoding="ISO-8859-1"?>
 <?xml-stylesheet type="text/xsl" href="simple.xsl"?>
 <breakfast_menu>
  <food>
    <name>Belgian Waffles</name>
    <price>$5.95</price>
    <description>
       two of our famous Belgian Waffles
    </description>
    <calories>650</calories>
  </food>
 </breakfast_menu>

在使用 XSLT 来转换 XML 时,不同的浏览器可能会产生不同结果。为了减少这种问题,可以在服务器上进行 XSLT 转换。

06-XMLHttpRequest对象
XMLHttpRequest 对象用于在后台与服务器交换数据。
用途:
在不重新加载页面的情况下更新网页
页面已加载后从服务器请求数据
页面已加载后从服务器接收数据
后台向服务器发送数据
所有现代的浏览器都支持 XMLHttpRequest 对象。
创建 XMLHttpRequest 对象的语法:

var xmlhttp=new XMLHttpRequest();

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

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

通过 XML HTTP 把一个 textfile 载入一个 div 元素中
通过 XML HTTP 进行 HEAD 请求
通过 XML HTTP 进行指定的 HEAD 请求
通过 XML HTTP 列出 XML 文件中的数据

07-XML解析器
所有现代浏览器都有读取和操作 XML 的内建 XML 解析器。
解析器把 XML 载入内存,然后把它转换为可通过 JavaScript 访问的 XML DOM 对象。
注释:当我们谈及 XML 解析,我们常常会使用有关 XML 元素的术语:节点。
解析 XML 文档
下面的代码片段把 XML 文档解析到 XML DOM 对象中:

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","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

其他方法 1:通过微软的 XML 解析器来加载 XML
微软的 XML 解析器内建于 Internet Explorer 5 以及更高的版本中。
下面的 JavaScript 片段把一个 XML 文档载入解析器中:

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

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

其他方法 2:在 Firefox 及其他浏览器中的 XML 解析器

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

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

08-解析 XML 字符串
下面的 JavaScript 代码片段把 XML 字符串解析到 XML DOM 对象中(把字符串 txt 载入解析器):

txt="<bookstore><book>";
txt=txt+"<title>Everyday Italian</title>";
txt=txt+"<author>Giada De Laurentiis</author>";
txt=txt+"<year>2005</year>";
txt=txt+"</book></bookstore>";

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);
  }

注释:Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用 DOMParser 对象。 注释:loadXML() 方法用于加载字符串(文本),load() 用于加载文件。 跨域访问 出于安全方面的原因,现代的浏览器不允许跨域的访问。

猜你在找的XML相关文章