javascript中xml操作实现代码

所属分类: 网络编程 / JavaScript 阅读数: 1290
收藏 0 赞 0 分享
JavaScript 端:
复制代码 代码如下:

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

page = 1;
changeImage(page);

var pageManager = document.getElementById("div_page");
pageManager.innerHTML = "<a href='javascript:changePage(0)'>上一页</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
+ "<a href='javascript:changePage(1)'>下一页</a><br/><br/>";

var ary2 = JSONToArray(XMLReader("meta","content.dibi"));
var divmeta = document.getElementById("div_meta");
var styStr = "<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 文件。
function XMLReader(key,fileName) {
var parse = BrowserValidator();
parse.load(fileName);
var json = "";
try{
var dom = parse.documentElement;
var attrLength = 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){}
return json;
}

//判断浏览器类型。支持 IE ,fireFox。
function BrowserValidator(){
var result;
if(!window.DOMParser && window.ActiveXObject) {
result = new ActiveXObject("Microsoft.XMLDOM");
result.async = false;
}
else if(document.implementation && document.implementation.createDocument) {
result = document.implementation.createDocument("", "", null);
result.async = false;
}
return result;
}

var page = 1; //当前页
var pageCount; //总页数

//根据点击改变页面图片
function changeImage(page1){
page = page1;
var divimg = document.getElementById("div_img");
divimg.innerHTML = "<img width='500' src = 'images/" + page +".jpg'/>";
}

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


//将 JSON 数据转换成数组
function JSONToArray(json){
return json.replace(new RegExp("},", "g"), "}|").split("|");
}

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

<html>
<head>
<title></title>
<script language="javascript" type="text/javascript" charset='gbk' src="xmlhelper.js"></script>
</head>
<body onload="init()">
<div id="div_toc"></div>
<div id="div_img"></div>
<div id="div_page"></div>
<div id="div_meta"></div>
</body>
</html>

XML 端:略。
更多精彩内容其他人还在看

基于jquery封装的一个js分页

基于jquery封装的一个js分页代码,需要的朋友可以参考下。
收藏 0 赞 0 分享

关于js datetime的那点事

关于js datetime的一些使用经验分享,想要了解datetime日期操作的朋友可以参考下。
收藏 0 赞 0 分享

js 关于=+与+=日期函数使用说明(赋值运算符)

js 关于=+与+=日期函数使用说明(赋值运算符),可以看下,就是一些运算符的使用,看哪个更适合你。
收藏 0 赞 0 分享

JS 操作符整理[推荐收藏]

JS 操作符主要包括算术运算符,赋值运算符,比较(关系)运算符,逻辑运算符,串符(连接作用),条件运算符等
收藏 0 赞 0 分享

让html的text输入框只能输入数字和1个小数点(0-59之间可改)

今天有同事需要这个功能,主要是限制用户输入不符合规范的数字与小数点导致不好计算价格问题,特整理了下面的代码,需要的朋友可以参考下。
收藏 0 赞 0 分享

Jquery 获取checkbox的checked问题

这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠结
收藏 0 赞 0 分享

jQuery EasyUI API 中文文档 - DataGrid数据表格

jQuery EasyUI API 中文文档 - DataGrid数据表格使用说明,需要的朋友可以参考下。
收藏 0 赞 0 分享

jQuery EasyUI API 中文文档 - PropertyGrid属性表格

jQuery EasyUI API 中文文档 - PropertyGrid属性表格使用介绍,需要的朋友可以参考下。
收藏 0 赞 0 分享

20款效果非常棒的 jQuery 插件小结分享

这篇文章向大家推荐20款效果非常棒的 jQuery 插件。jQuery 是一个非常优秀的JavaScript库,它简化了 HTML 文档遍历,事件处理,动画以及 Ajax 交互,同时也改变了很多人编写 JavaScript 代码的方式
收藏 0 赞 0 分享

基于Jquery插件开发之图片放大镜效果(仿淘宝)

公司某个网站,需要实现图片预览效果,并能像淘宝一样实现局部分大,使用jquery的朋友可以参考下。
收藏 0 赞 0 分享
查看更多