java script xml_java script 读取xml (转贴)

[解析XML的步骤如下:  1.创建DocumentBuilder工厂  2.创建DocumentBuilder对象  3.DocumentBuilder对象的parse方法得到Document对象  4.Document对象的getElementsByTagNa

首先:xml文件(tree.xml)内容如下:

山东省

_blank

省份

威海市

_blank

城市

烟台市

_blank

城市

长夼村

_blank

乡镇

http://www.baidu.com/

富镇

_blank

乡镇

http://www.baidu.com/

河北省

_blank

省份

泊头市

_blank

城市

郊河

_blank

乡镇

http://www.baidu.com/

石家庄

_blank

城市

浙江省

_blank

省份

杭州市

_blank

城市

某镇

_blank

乡镇

http://www.baidu.com/

温州市

_blank

城市

某镇

_blank

乡镇

http://www.baidu.com/

//

然后:javascript函数实现:(文件名称:tree.htm)

var HTML = "";

var space = "";

var blank = " ";

function getSubject()

{

var xmlDoc;

if(window.ActiveXObject)

{

//获得操作的xml文件的对象

xmlDoc = new ActiveXObject('Microsoft.XMLDOM');

xmlDoc.async = false;

xmlDoc.load("tree.xml");

if(xmlDoc == null)

{

alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');

window.location.href='/Index.aspx';

return;

}

}

//解析xml文件,判断是否出错

if(xmlDoc.parseError.errorCode != 0)

{

alert(xmlDoc.parseError.reason);

return;

}

//获得根接点

var nodes = xmlDoc.documentElement.childNodes;

//得到根接点下共有子接点个数,[ 简单的java读取xml文件方法(相对路径的xml文件),,分为两种: 一种是简单的键值对的xml文件, 通过Properties读取;一种是普通的xml文件, 此处使用dom4j读取 一.简单的并循环

for(var i=0; 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;

return;

}

//读Tree节点

function readTree(cI)

{

var nodes = cI.childNodes;

var menuHTML = space;

menuHTML += blank;

//得到超级链接

menuHTML += "

menuHTML += "'";

}

//点击菜单事件,调用divshow(vid)函数

menuHTML += " οnclick=javascript:divshow('"+cI.getAttribute("id")+"');";

//得到节点标题

menuHTML += " title='";

menuHTML += cI.selectNodes("title")(0).text;

//结束

menuHTML += "'>";

//得到节点的正文

menuHTML += cI.selectNodes("text")(0).text;

menuHTML += "


\n";

//将menuHTML设置添加到HTML字符串

HTML += menuHTML;

//得到该节点的属性值

HTML += "

\n";

for(var i=0; i

{

var tempImg = "";

tempImg += blank;

if(nodes(i).nodeName == "tree")

{

space += tempImg;

readTree(nodes(i));

space = "";

}

else if(nodes(i).nodeName == "node")

{

space += tempImg;

readNode(nodes(i));

}

}

HTML += "

\n";

return;

}

//读Node节点

function readNode(cI)

{

var nodeHTML = space;

nodeHTML += blank;

//设置超级链接

nodeHTML += "";

//得到节点的正文

nodeHTML += cI.selectNodes("text")(0).text;

nodeHTML += "
\n";

HTML += nodeHTML;

//HTML += "

";

space = "";

return;

}

//操作对象的显示还是隐藏效果

function divshow(vid)

{

if(document.all[vid].style.display == "none")

{

document.all[vid].style.display = "block";

}

else

{

document.all[vid].style.display = "none";

}

return;

}

JS_XML

getSubject()

运行,要在同一个路径下!

[package com.plas.util;import java.io.FileWriter;import java.io.IOException;import java.util.HashMap;import java.util.List;import java.util.Map;import org.jdom.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值