要想让JS读取本地的XML代码,得具备这样的条件,一般情况下,需要一个JS文件,一个XML文件,最后这两个文件就放在相同的路径下,这样方便调用。
一、XML文件代码示例
<?xml version="1.0" encoding="gb2312"?>
<root>
<item>
<txt>大众计算机学习网</txt>
<url>www.dzwebs.net</url>
<color>green</color>
</item>
<item>
<txt>大众三七网</txt>
<url>www.dz37w.com</url>
<color>blue</color>
</item>
<item>
<txt>第三条信息</txt>
<url>第三条信息的网址</url>
<color>Red</color>
</item>
<item>
<txt>第四条信息</txt>
<url>第四条信息的网址</url>
<color>green</color>
</item>
</root>
二、JS文件的代码
<script type="text/javascript">
//指定xml文件的来源地址
var Url="MyXml.xml";
//创建XmlDom对象
var cdsales=new ActiveXObject("Microsoft.XMLDOM");
//设定XmlDom对象将采取异步调用的方式加载数据
cdsales.async=true; //异步加载
//加载xml文件
cdsales.load(Url);
cdsales.onreadystatechange= new function LoadedSales(){
var txt="";
if(cdsales.readyState==4){
if(cdsales.parseError.errorCode != 0){
txt="err";
}
else{
var bi=cdsales.documentElement.selectNodes("item");
if(bi!=null&&bi.length>0){
for(var i=0;i<bi.length;i++){
txt+="<li><a href="+bi[i].childNodes[1].text+" style=color:"+bi[i].childNodes[2].text+">"+bi[i].childNodes[0].text+"</a></li>"+"<li>"+bi[i].childNodes[2].text+"</li>";
}
}
else{
txt="LoadingErr";
}
}
}
else{
txt="Loading.";
}
document.write(txt);
}
</script>
把上面的代码,直接保存成为一个HTML文件,双击使用即可看到效果,注意,打开该HTML网页文件的时候,一定要允许阻止的内容,方能看到结果。
上面的JS代码比较多,如果你是想验证简单结果,可使用如下的简洁的JS代码:
<SCRIPT LANGUAGE="JavaScript">
var xdoc = new ActiveXObject("Microsoft.XMLDOM");
xdoc.async="true";
/xdoc.load('MyXml.xml');
nodes=xdoc.documentElement.childNodes;
document.write("<li>"+nodes.item(0).text+"</li><li>"+nodes.item(1).text+"</li>");
</SCRIPT>