zl程序教程

您现在的位置是:首页 >  前端

当前栏目

javascript中xml操作实现代码

JavaScriptXML代码 实现 操作
2023-06-13 09:14:31 时间
JavaScript端:
复制代码代码如下:

//初始化页面
functioninit(){
varary=JSONToArray(XMLReader("node","content.dibi"));
vardivtoc=document.getElementById("div_toc");
pageCount=ary.length;
for(k=0;k<ary.length;k++){
obj=eval("("+ary[k]+")");
divtoc.innerHTML+="<ahref="javascript:changeImage("+obj.page.substring(obj.page.length-1)+")">"
+obj.label+"</a>      ";
}

page=1;
changeImage(page);

varpageManager=document.getElementById("div_page");
pageManager.innerHTML="<ahref="javascript:changePage(0)">上一页</a>      "
+"<ahref="javascript:changePage(1)">下一页</a><br/><br/>";

varary2=JSONToArray(XMLReader("meta","content.dibi"));
vardivmeta=document.getElementById("div_meta");
varstyStr="<table>"
for(l=0;l<ary2.length;l++){
obj2=eval("("+ary2[l]+")");
styStr+="<tr><td>"+obj2.name+"</td><td>"+obj2.content+"</td></tr>";
}
divmeta.innerHTML=styStr+"</table>";
}

//解析.dibi文件。
functionXMLReader(key,fileName){
varparse=BrowserValidator();
parse.load(fileName);
varjson="";
try{
vardom=parse.documentElement;
varattrLength=0;
for(i=0;i<dom.getElementsByTagName(key).length;i++){
attrLength=dom.getElementsByTagName(key)[i].attributes.length;
objMsg=",{";
for(j=0;j<attrLength;j++){
objMsg+="""+dom.getElementsByTagName(key)[i].attributes[j].name
+"":""+dom.getElementsByTagName(key)[i].attributes[j].value+"",";
}
objMsg=objMsg.substring(0,objMsg.length-1);
json+=objMsg+"}";
}
json=json.substring(1);
}catch(e){}
returnjson;
}

//判断浏览器类型。支持IE,fireFox。
functionBrowserValidator(){
varresult;
if(!window.DOMParser&&window.ActiveXObject){
result=newActiveXObject("Microsoft.XMLDOM");
result.async=false;
}
elseif(document.implementation&&document.implementation.createDocument){
result=document.implementation.createDocument("","",null);
result.async=false;
}
returnresult;
}

varpage=1;//当前页
varpageCount;//总页数

//根据点击改变页面图片
functionchangeImage(page1){
page=page1;
vardivimg=document.getElementById("div_img");
divimg.innerHTML="<imgwidth="500"src="images/"+page+".jpg"/>";
}

//上页及下页
functionchangePage(flag){
if(flag==0&&page>1){
page--;
}
if(flag==1&&page<pageCount){
page++;
}
changeImage(page);
}


//将JSON数据转换成数组
functionJSONToArray(json){
returnjson.replace(newRegExp("},","g"),"}|").split("|");
}

HTML端:
复制代码代码如下:

<html>
<head>
<title></title>
<scriptlanguage="javascript"type="text/javascript"charset="gbk"src="xmlhelper.js"></script>
</head>
<bodyonload="init()">
<divid="div_toc"></div>
<divid="div_img"></div>
<divid="div_page"></div>
<divid="div_meta"></div>
</body>
</html>

XML端:略。