js读取XML数据1

本文介绍了一种使用JavaScript解析包含多个email节点的XML文件的方法。通过循环遍历XML节点,可以有效地提取并展示每个email的信息。
 

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>js读取xml数据2(xml里面多个email节点)</TITLE>
<SCRIPT LANGUAGE="JavaScript">
var xmlDoc = new ActiveXObject("microsoft.xmldom")
xmlDoc.async=false;
xmlDoc.load("xml/email2.xml")
root=xmlDoc.documentElement;
newHTML="";

function start(){
buildTree(root);
content.innerHTML=newHTML;
}

 

function buildTree(passedNode){
var children = passedNode.childNodes.length;
for (var j=0; j<children; j++){
Node=passedNode.childNodes.item(j)
if (Node.nodeName=="EMAIL"){ newHTML+=("<P>"+Node.nodeName+" "+j) }
if (!Node.hasChildNodes()){
newHTML+=( "<BR><B>"+Node.parentNode.nodeName+":</B> "+Node.text )
}
buildTree(Node);
}
}
</SCRIPT>
</head>

<body onload="start()">
<span ID="content"></span>
</body>
</html>

在phoenix的目录下的xml文件夹里新建xml文件“email2.xml”:

<?xml version="1.0" encoding="utf-8"?>

<INBOX>

<EMAIL>
<TO>Bill_Pardi@hotmail.com</TO>
<FROM>Eric_Schurman@hotmail.com</FROM>
<CC>DHTML_in_Action@hotmail.com</CC>
<SUBJECT>My document is a tree.</SUBJECT>
<BODY>This is an example of a tree structure.</BODY>
</EMAIL>

<EMAIL>
<TO>Bill_Pardi@hotmail.com</TO>
<FROM>Eric_Schurman@hotmail.com</FROM>
<SUBJECT>XML is cool.</SUBJECT>
<BODY>This is a simple message.</BODY>
</EMAIL>

<EMAIL>
<TO>Bill_Pardi@hotmail.com</TO>
<FROM>Eric_Schurman@hotmail.com</FROM>
<SUBJECT>Here is that code.</SUBJECT>
<BODY>I send too many emails.</BODY>
</EMAIL>

</INBOX>
然后:

运行js读取xml的数据2.html,结果如下:


EMAIL 0
TO: Bill_Pardi@hotmail.com
FROM: Eric_Schurman@hotmail.com
CC: DHTML_in_Action@hotmail.com
SUBJECT: My document is a tree.
BODY: This is an example of a tree structure.

EMAIL 1
TO: Bill_Pardi@hotmail.com
FROM: Eric_Schurman@hotmail.com
SUBJECT: XML is cool.
BODY: This is a simple message.

EMAIL 2
TO: Bill_Pardi@hotmail.com
FROM: Eric_Schurman@hotmail.com
SUBJECT: Here is that code.
BODY: I send too many emails.

 

比起上一个用js读取xml的方法,这个xml文件里的数据更多,在页面要求用循环的发式取出。

同时,要注意大小写,刚刚测试了很久,数据没出来,其实是html里面大小写的问题!

分享到新浪微博 阅读(58)┊ 评论 (0)┊收藏(0)┊转载(0)┊打印┊举报已投稿到:  排行榜  圈子 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

感谢一路走过的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值