posts - 16,comments - 17,trackbacks - 0

今天在帮朋友写一个简单的产品发布网站,由于使用的空间是静态的,没有办法只能在javascript上下功夫了。首先想到的便是RIA,上网google了一下,发现这样的东西还真不少,可谓是十八般武艺各显灵通。看了看文明的bindows,感觉真的非常的好。可是选择它对于我要做的东西,可以说是过于复杂了。(http://www.bindows.net 有兴趣的朋友可以去看看)。
搜索了半天最后还是决定,采用javascript读取服务器端xml文件的办法来实现。尝试了一下感觉还不错,确定就是对使用的浏览器有依赖。
先写了一个商品的xml文件:

<?xml version="1.0"?>
<root>
 
<product id="0001" name="product1" price="10.00">
  
<description>
   Detail Description
  
</description>
 
</product>
 
<product id="0002" name="product2" price="20.00">
  
<description>
   Detail Description
  
</description>
 
</product>
</root>

 

使用javascript来读入xml实在是相当的简单,只需要两句话就可以搞定:

// 装载xml文件的函数
function loadXML(fileName) {
 
// 定义一个xml dom对象
 var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
 
 xmlDoc.load(fileName);
 xmlObj 
= xmlDoc.documentElement;
}

 

指定要载入的xml文件名就可以完成对xml的读入。

// 载入xml文件
loadXML("product.xml");

 

得到xml对象后就可以适用对象提供的相应方法和属性来获取xml中定义的数据信息。
xmlObj.hasChildNodes来判断是否含有子项;
xmlObj.childNodes.lenght 得到包含的子项的数量
子项可以用数字来作为索引,以product.xml为例。如果我们要获取第二条商品时,可以用xmlObj.childNodes(1)来获得,xmlObj.childNodes(1).childNodes(0)得到的是description
xmlObj.childNodes(1).childNodes(0).text 得到description的值
xmlObj.childNodes(1).getAttribute("name") 得到第二条商品的名字


posted on 2005-04-09 12:23 非飞 阅读(4693) 评论(1)  编辑  收藏 所属分类: JavaScript相关技术

FeedBack:
# re: JavaScript读取服务器端的xml
2007-03-06 20:36 | lovelywcm
很好,谢谢~  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: