所有现代浏览器都有内建的 XML 解析器。
XML 解析器把 XML 文档转换为 XML DOM 对象 - 可通过 JavaScript 操作的对象。
下面的代码片段把 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;
下面的代码片段把 XML 字符串解析到 XML DOM 对象中:
- 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 对象。
出于安全方面的原因,现代的浏览器不允许跨域的访问。
这意味着,网页以及它试图加载的 XML 文件,都必须位于相同的服务器上。
在下一章中,您将学习如何访问 XML DOM 对象并取回数据。