JSjs如何读取xml文件件,为什么会读取不到

2013年12月 .NET技术大版内专家分月排行榜第二2013年11月 .NET技术大版内专家分月排行榜第二2013年10月 .NET技术大版内专家分月排行榜第二2013年8月 .NET技术大版内专家分月排行榜第二2013年7月 .NET技术大版内专家分月排行榜第二
2013年9月 .NET技术大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。JS&+&HTML&读取&XML
Language="JavaScript"&
var HTML = "";
var space = "";
var blank = "&& ";
function getSubject()
if(window.ActiveXObject)
//获得操作的xml文件的对象
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async =
xmlDoc.load("tree.xml");
if(xmlDoc == null)
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
window.location.href='/Index.aspx';
//解析xml文件,判断是否出错
if(xmlDoc.parseError.errorCode != 0)
alert(xmlDoc.parseError.reason);
//获得根接点
var nodes = xmlDoc.documentElement.childN
//得到根接点下共有子接点个数,并循环
for(var i=0; i&nodes. i++)
//如果接点名为 tree
if(nodes(i).nodeName == "tree")
readTree(nodes(i));
//如果接点名为 node
else if(nodes(i).nodeName == "node")
readNode(nodes(i));
//删除对象
delete(xmlDoc);
//显示HTML
window.show.innerHTML = HTML;
//读Tree节点
function readTree(cI)
var nodes = cI.childN
var menuHTML =
menuHTML +=
//得到超级链接
menuHTML += "&a href='";
//如果该节点的连接属性不为空,则连接
if(cI.selectNodes("link")(0).text != "")
menuHTML += cI.selectNodes("link")(0).
//否则为空链接
menuHTML += "#";
if(cI.selectNodes("target")(0).text != "")
menuHTML += " target='"+cI.selectNodes("target")(0).
menuHTML += "'";
//点击菜单事件,调用divshow(vid)函数
menuHTML += "
onclick=javascript:divshow('"+cI.getAttribute("id")+"');";
//得到节点标题
menuHTML += " title='";
menuHTML += cI.selectNodes("title")(0).
menuHTML += "'&";
//得到节点的正文
menuHTML += cI.selectNodes("text")(0).
menuHTML +=
"&/a&&br&\n";
//将menuHTML设置添加到HTML字符串
HTML += menuHTML;
//得到该节点的属性值&span
HTML += "&div id='"+cI.getAttribute("id")+"'
style='display:none'&\n";
for(var i=0; i&nodes. i++)
var tempImg = "";
tempImg +=
if(nodes(i).nodeName == "tree")
space += tempI
readTree(nodes(i));
space = "";
else if(nodes(i).nodeName == "node")
space += tempI
readNode(nodes(i));
HTML += "&/div&\n";
//读Node节点
function readNode(cI)
var nodeHTML =
nodeHTML +=
//设置超级链接
nodeHTML += "&a href='";
//得到连接地址
nodeHTML += cI.selectNodes("link")(0).
if(cI.selectNodes("target")(0).text != "")
nodeHTML += "' target='"+cI.selectNodes("target")(0).
//得到节点标题
nodeHTML += "' title='";
nodeHTML += cI.selectNodes("title")(0).
nodeHTML += "'&";
//得到节点的正文
nodeHTML += cI.selectNodes("text")(0).
nodeHTML +=
"&/a&&br&\n";
HTML += nodeHTML;
//HTML += "&div
id='"+cI.getAttribute("id")+"'&";
space = "";
//操作对象的显示还是隐藏效果
function divshow(vid)
if(document.all[vid].style.display == "none")
document.all[vid].style.display = "block";
document.all[vid].style.display = "none";
&meta http-equiv="Content-Type" content="text/
charset=gb2312"&
&title&JS_XML&/title&
&style type="text/css"&
margin-left: 0
margin-top: 0
margin-right: 0
margin-bottom: 0
font-size: 9
text-decoration:
font-family: "宋体";
font-size: 9
COLOR:#000000;
&body bgcolor="#EEEEEE" leftmargin="0"
topmargin="0"&
id=show&&/div&
getSubject()
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。posts - 316,&
comments - 62,&
trackbacks - 0
先看xml文件:
&?xml version="1.0" standalone="yes"?&
&stuName&张秋丽&/stuName&
&stuSex&女
&stuAge&18&/stuAge&
&/stuinfo&
&stuName&李文才&/stuName&
&stuSex&男
&stuAge&31&/stuAge&
&/stuinfo&
&stuName&李斯文&/stuName&
&stuSex&男
&stuAge&22&/stuAge&
&/stuinfo&
&stuName&马英&/stuName&
&stuSex&女
&stuAge&25&/stuAge&
&/stuinfo&
&stuName&孙红雷&/stuName&
&stuSex&男
&stuAge&32&/stuAge&
&/stuinfo&
&stuName&欧阳俊雄&/stuName&
&stuSex&男
&stuAge&28&/stuAge&
&/stuinfo&
&stuName&江琳&/stuName&
&stuSex&女
&stuAge&23&/stuAge&
&/stuinfo&
&stuName&小小&/stuName&
&stuSex&女
&stuAge&22&/stuAge&
&/stuinfo&
&/student&
aspx页面代码:
&%@ Page Language="C#" AutoEventWireup="true" CodeBehind="获取数据库数据生成XML.aspx.cs" Inherits="Chapter1.获取数据库数据生成XML" %&
&!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 runat="server"&
&title&&/title&
&script type="text/javascript"&
function loadXMLDoc(dname) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
xhttp.open("GET", dname, false);
xhttp.send("");
return xhttp.responseXML;
function ReadXml() {
var xmldoc = loadXMLDoc("Student.xml");
//获得指定节点
var divmsg = document.getElementById("xmlMsg");
var msg = "&table border='1' id='mytable'&&tr&&th&姓名&/th&&th&性别&/th&&th&年龄&/th&&tr&";
var nodes = xmldoc.getElementsByTagName("stuinfo");
for (var i = 0; i & nodes. i++) {
msg += "&tr&";
msg += "&td&" + nodes[i].getElementsByTagName("stuName")[0].firstChild.nodeValue + "&/td&";
msg += "&td&" + nodes[i].getElementsByTagName("stuSex")[0].firstChild.nodeValue + "&/td&";
msg += "&td&" + nodes[i].getElementsByTagName("stuAge")[0].firstChild.nodeValue + "&/td&";
msg += "&/tr&";
msg += "&/table&";
divmsg.innerHTML =
&form id="form1" runat="server"&
&input type="button" value="JS读取XML" onclick="ReadXml()" /&&br /&
&div id="xmlMsg"&
上面的JS操作主要就避免了使用childNodes(因为火狐中有时候会出现childNodes[0]获取到的是"\n"而不是我们想要的第一个子节点,这个自己可以去试下,反正我是遇到了这种情况),使得可以兼容IE、火狐,其他浏览器我没试。
阅读(...) 评论()JS读取XML文件,这个有问题吗?_javascript吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:129,484贴子:
JS读取XML文件,这个有问题吗?收藏
一、这是HTML文件&!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"""&&html&&head&
&/head& &body&
&div id="jia"&&/div&
&script type="text/javascript"&if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}xmlhttp.open("GET","wenjian.xml",false);xmlhttp.send();xmlDoc=xmlhttp.responseXML;document.getElementById("jia").innerHTML=xmlDoc.getElementsByTagName("tou")[0].childNodes[0].nodeV&/script&
&/body&&/html&二、这是XML文件&?xml version="1.0" encoding="UTF-8"?&&tou&&jian&我是一只小小鸟&/jian&&jian2&我是一只小小鸟2&/jian2&&jian3&我是一只小小鸟3&/jian3&&jian4&我是一只小小鸟4&/jian4&&/tou&三、显示的是空白,何解?
票牛教你如何买到热门、便宜、真实的演出门票!
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 js读取xml生成目录树 的文章

 

随机推荐