前端js中解析XML文件(一)

 IE浏览器中的XML解析器是通过 ActiveX控件所实现的,,通过以下的代码来引用XML解析器。
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
以上的代码可以创建一个XMLDOM对象,使用该对象可以加载一个XML文件,加载方式如下:
xmldoc.load("index.xml ") ;
使用该语句后,浏览器会将index.xml文件的内容读取到内存中,并且创建一个XMLDOM对象来引用该XML文件的内容。如果XML文件内容较大,可以再load()之前使用以下代码来设置加载XML方式。
xmldoc.async = false;
以上代码中如果 async的属性值为false,则使用同步的方式加载XML文件,也就是说,在该文件加载完毕之前,JavaScrip不会进行任何操作。 如果为true,那么将会使用异步的方式加载XML文件,如果该文件还没在加载完毕,Javascript就执行到要读取的XML内容的代码情况。
代码:(仅IE,遨游支持)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>跨浏览器解析XML文件(不支持webkit)</title>
</head>
<body>
<script language="javscript" type="text/javascript" >
//创建XMLDOM对象
var xmldom =new ActiveXObject("Microsoft.XMLDOM");//通过ActiveX控件来引用XML解析器
xmldom.async =false;//设置加载XML方式,使用同步方式加载XML文档
xmldom.load("index.xml");//加载XML字符串
document.write("该XML文件的根元素名称为:"+xmldom.documentElement.nodeName);//输出XML根元素名称
</script>
</body>
</html>


index.xml内容:

<?xml version="1.0" encoding="utf-8" ?>
<唐诗>
<Item>
<诗名>静夜思</诗名>
<作者>李白</作者>
<内容>床前明月光,疑是地上霜。举头望明月,低头思故乡。</内容>
</Item>
<Item>
<诗名>春晓</诗名>
<作者>孟浩然</作者>
<内容>春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。</内容>   
</Item>
</唐诗>

你可能感兴趣的:(JavaScript,xml,浏览器,XHTML,webkit,encoding)