编程就是这个样子

学的老,活到老
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

js 操作xml 加载,读取,删除

Posted on 2008-12-29 22:43  寿  阅读(376)  评论(0编辑  收藏  举报
var xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
 xml+="<Song>";
 xml+="<Item   ID="1" Name="xml">xmlxmlxmlxmlx </Item>";
 xml+="<Item   ID="2">xmlxmlxmlxmlx </Item>";
 xml+="<Item   ID="3">xmlxmlxmlxmlx </Item>";
 xml+="<Item   ID="4">xmlxmlxmlxmlx </Item>";
  xml+="<Item  ID="5"> </Item>";
 xml+="<Item   ID="6"> </Item>";
 xml+="</Song>";

var result = xml;

 if(window.ActiveXObject)
 {
  xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
  xmlDoc.loadXML(result);
 }
 else
 {
   parser = new DOMParser();
   xmlDoc = parser.parseFromString(result,"text/xml");
 }

//读取属性 var properties = xmlDoc.getElementsByTagName("Item");
//方法一 var ID = properties.item(0).attributes(0).value;
//方法二 var ID2 = properties.item(0).getAttribute("ID");
alert(ID);
//读取内容 var xmlValue= properties[0].childNodes[0].nodeValue;
alert(xmlValue);
//追加 var node = properties.item(3).previousSibling;
//得到父节点
//方法一
var pnode = properties.item(2).parentNode; pnode.appendChild(node);
//方法二
var pnode2 = xmlDoc.getElementsByTagName("Song");
pnode2[0].appendChild(node); alert(xmlDoc.xml);
//删除
pnode.removeChild(node);
alert(xmlDoc.xml);

由于上面的代码中pnode 和 properties.item(i) 交替使用,没有统一,所以xml文件修改不统一,应当
统一,以后在弄.