ajax读取xml
来源:互联网 发布:单片机编程语言的比较 编辑:程序博客网 时间:2024/05/13 15:25
xml 代码 如下 :文件 index.xml
<?xml version="1.0" encoding="GB2312" ?>
<head>
<show id="0">
<content id="0">
<url>file/三分屏/样式1/index.html</url>
<img>file/三分屏/样式1/1.jpg</img>
<name>三分屏</name>
<courseName>第三方物流实践课程体系介绍</courseName>
</content>
<content id="1">
<url>file/三分屏/样式2/index.html</url>
<img>file/三分屏/样式2/1.jpg</img>
<name>教育培训远程研修课程</name>
<courseName>健康领域的理解与实施</courseName>
</content>
</show>
<show id="1">
<content id="0">
<url>file/PPT课程改造/第七单元 第1节 戏曲音乐/index.html</url>
<img>file/三分屏/样式1/1.jpg</img>
<name>音乐欣赏</name>
<courseName>戏曲</courseName>
</content>
<content id="1">
<url>file/PPT课程改造/刑法基本原则导出/index.html</url>
<img>file/PPT课程改造/刑法基本原则导出/1.jpg</img>
<name>音乐欣赏</name>
<courseName>戏曲</courseName>
</content>
</show>
</head>
js代码如下:文件 index.js
// JavaScript Document
var num; //用于获取点击的是第几个
var data = new Array(); //用于存放读取xml获得的数据
function setTab(n) //左侧导航样式改变
{
num = n;
var tdd = document.getElementById("menu").getElementsByTagName("dd");
/*获取id是menu 的dl 的dd对象*/
for (i = 0; i < tdd.length; i++) {
tdd[i].className = i == n ? "active" : "";
/*更改选项卡的dd对象的样式,如果是选定的项则使用.active样式*/
}
showDiv();
}
//ajax技术 用于刷新中间内容部分
var xmlHttp = false;
function showDiv()
{
/*@cc_on @*/
/*@if (@_jscript_version >= 5)*/
//IE浏览器的情况
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2) {
xmlHttp = false;
}
}
/*@end @*/
//非IE浏览器的情况
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
//1、建立一个变量 xmlHttp 来引用即将创建的 XMLHttpRequest 对象。
//2、尝试在 Microsoft 浏览器中创建该对象:
// 1)尝试使用 Msxml2.XMLHTTP 对象创建它。
// 2)如果失败,再尝试 Microsoft.XMLHTTP 对象。
//3、如果仍然没有建立 xmlHttp,则以非 Microsoft 的方式创建该对象。
//最后,xmlHttp 应该引用一个有效的 XMLHttpRequest 对象,无论运行什么样的浏览器。
xmlHttp.onreadystatechange = readyStateChangeHandle;
//回调函数 ,服务器状态改变就执行,上面设置了true,异步处理
xmlHttp.open("GET", "index.xml", true);
//get请求,读取指定文件 true表示异步
xmlHttp.send(null);
//已请求,所以此处发送null
}
function readyStateChangeHandle() //回调函数
{
if (xmlHttp.readyState == 4 )
{
//4表示完成
if (data == null || data.length == 0) {
readXML();
//读取xml文件
}
if (data.length != 0)
{
//读取xml成功
var shtml = '';
shtml += '<ul>';
for (var i = 0; i < data[num].length; i++)
{
shtml += '<li>';
shtml += '<div class="img">';
shtml += '<a href="' + data[num][i].url + '" target="_blank">';
shtml += '<img src="' + data[num][i].img + '" alt="">';
shtml += '<p>' + data[num][i].name + '</p></a>';
shtml += '</div>';
shtml += '<a href="' + data[num][i].url + '" target="_blank">';
shtml += '<strong>课程名称:</strong>' + data[num][i].courseName + '</a></li>';
}
shtml += '</ul><div class="clear"></div>';
document.getElementById('displayLesson').innerHTML = shtml;
//替换原先的内容
}
else {
document.getElementById('displayLesson').innerHTML = '没有信息!';
//替换原先的内容
}
}
}
function readXML()
{
var xmlDOM = xmlHttp.responseXML;
var xmlRoot = xmlDOM.documentElement;
var node = xmlRoot.getElementsByTagName("show");
//获得xml 文档 的show 节点 集合
for (var i = 0; i < node.length; i++)
{
data[i] = new Array();
var content = node[i].getElementsByTagName("content");
for (var j = 0; j < content.length; j++)
{
var obj = {};
obj.url = content[j].getElementsByTagName("url")[0].firstChild.data;
//取出 show下 content下 url的值
obj.img = content[j].getElementsByTagName("img")[0].firstChild.data;
//取出 show下 content下 img的值
obj.name = content[j].getElementsByTagName("name")[0].firstChild.data;
//取出 show下 content下 name的值
obj.courseName = content[j].getElementsByTagName("courseName")[0].firstChild.data;
//取出 show下 content下 courseName的值
data[i][j] = obj;
//在这里,我们使用使用json
}
}
}
- ajax读取xml文件
- Jquery Ajax读取xml
- ajax 读取 xml文件
- ajax读取xml
- ajax 读取xml文件
- Ajax读取Xml精简示例
- Ajax读取Xml精简示例
- Jquery Ajax 读取XML 数据
- Jquery的Ajax读取Xml
- Jquery | ajax 读取xml 文件
- ajax 如何 读取 xml 文档
- 利用AJAX读取本地xml
- AJAX读取XML赋值给下拉列表
- 用Ajax读取XML格式的数据
- Ajax 方式远程读取XML类
- Ajax 读取 XML 文件中的数据源代码
- Ajax 从servlet中读取xml数据
- Aspnet JQuery Ajax XML跨域读取
- Ubuntu命令参考手册
- 【python+selenium】2、获取元素,并跳转页面
- 详解 Python 源码之对象机制
- C# 四种委托 Delegate Action Func Predicate 的学习
- 大学生程序员IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之 - 【IT术语】情书+【搞笑另类】情书
- ajax读取xml
- 使用7z进行源码备份
- 高盛CEO致大学毕业生:要与有野心的人为伍
- 用循环链表解决约瑟夫问题
- Android自定义属性,attr format取值类型
- yii2.0使用数据图
- 远程监控Linux服务器上的tomcat的JDK状况
- nand read ERROR failed -74
- oracle 中DB job的建立 定时执行任务