首先介绍简单的理论:
对于XML,我们可以理解它是一种树结构,它包含根,元素,属性,文本等内容。不同浏览器都有自己的解析器,把XML读入内存,并把它转换为可被 Javascript 访问的 XML DOM 对象。
微软的 XML 解析器与其他浏览器中的解析器是有差异的。微软的解析器支持对 XML 文件和 XML 字符串(文本)的加载,而其他浏览器使用单独的解析器。不过,所有的解析器都含有遍历 XML 树、访问、插入及删除节点的函数。
如果你使用的是一个本地文件或者网络文件且该文件在是在本服务器,那么对于IE和其他浏览器来说都可以通过load(uRl),loadXML(strXML)来创建Xdom对象。但是对于文本,除IE外需要一个单独的解析器来处理。
以下函数用于根据不同的浏览器来创建Xdom对象:
function loadXMLDoc() {
var xmlDoc;
// code for IE
if (window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");//创建空的微软 XML 文档对象
//xmlDoc.load(uRl);
//loadXML() 方法用于加载字符串(文本),而 load() 用于加载文件
xmlDoc.loadXML(xmlstr);
}
// code for Mozilla, Firefox, Opera, etc.
else if(document.implementation&&document.implementation.createdocument){
xmlDoc=document.implementation.createdocument("","",null);
//xmlDoc.load(uRl);
//Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用 DOMParser 对象
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}else{
alert('Your browser cannot handle this script');
}
//关闭异步加载,这样可确保在文档完整加载之前,解析器不会继续执行脚本
xmlDoc.async=false;
createTable(xmlDoc);
}
方法内有具体的解析,我不再啰嗦,对于解析的内容,分为字符串和文本两种。
首先定义一个字符串:
var xmlstr="
"; 数码相机 3206(元) 联想笔记本电脑 3206(元)
然后定义一个goods.xml文件:
文件内容为:
数码相机 3206(元) 联想笔记本电脑 3206(元)
通过取消和注释方式来选择是文本还是字符串。
这个方法可以是通用的,下面再来解析这个Xdom对象:
function createTable(xmldoc){
var goodss=xmldoc.getElementsByTagName("goods");
for(var i=0;i" + name + "-->" + price);
document.write("
");
}
}
}
对于使用到的函数和属性我们来解析一下:
早页面增加一个按钮来调用函数:
页面将会输出XMl内节点的属性和子节点的内容。对于一般应用来说,我觉得上面内容已经足够了。我会在之后补充一些其他操作。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



