web前端DOM操作

xml:

<?xml version="1.0" encoding="gb2312"?>
<!-- 参考书籍 -->
<books>
  <book id="a002">
    <name>编译原理</name>
    <price>30</price>
    <pub>中南大学出版社</pub>
    <author>李利</author>
 
  </book>
  <book id="a003">
    <name>java大学教程</name>
    <price>80</price>
    <pub>北京大学出版社</pub>
    <author>古月</author>
  </book>
</books>

 html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
var Dom;
function myload()
{
 Dom=new ActiveXObject("Microsoft.XMLDOM");
 Dom.async=false;
 //var str="<A><B>bbb</B></A>";
 //Dom.loadXML(str);
 Dom.load("books.xml");
 
 if(Dom.parseError.errorCode!=0)
 {
  alert("错误行:"+Dom.parseError.line+"\r\n"
   +"错误列:"+Dom.parseError.linepos+"\r\n"
   +"错误原因:"+Dom.parseError.reason+"\r\n"
   +"错误文本:"+Dom.parseError.srcText);
 }
 else
 {
  //遍历
  var root=Dom.documentElement;
  str = "----------------元素:"+root.baseName+"--------------<br/>";
  var nodelist=root.childNodes;
  for(var i=0;i<nodelist.length;i++)
  {
   str += "<br/>&nbsp;&nbsp;元素:" + nodelist[i].baseName +"<br/>";
   str += "------------------属性--------------<br/>";
   var attributes=nodelist[i].attributes;
   for(var j=0;j<attributes.length;j++)
   {
    str += "\t属性名:"+attributes[j].nodeName+"的值:"+attributes[j].nodeValue+"<br/>";
   }
   
   var nodelist1=nodelist[i].childNodes;
   str += "------------------元素--------------<br/>";
   for(var k=0;k<nodelist1.length;k++)
   {
    str +="\t元素名:"+nodelist1[k].nodeName+"的文本:"+nodelist1[k].firstChild.nodeValue+"<br/>";
   }

  }
  result.innerHTML = str;
 }
}

function add()
{
    //添加
    //添加元素
    var str = "添加元素前\n";
    alert(str + Dom.documentElement.xml);
    var nodelist=Dom.documentElement.childNodes;
    for(var i=0;i<nodelist.length;i++)
    {
     var newNode=Dom.createNode(1,"address","");
     var newTextNode=Dom.createNode(3,"","");
     var newAttribute=Dom.createNode(2,"officeaddress","");
     newAttribute.nodeValue="河西";
     newTextNode.nodeValue="湖南长沙";
     newNode.appendChild(newTextNode);
     newNode.setAttributeNode(newAttribute);

     nodelist[i].appendChild(newNode);
    }
    var str1 = "添加元素后\n";
    alert(str1 + Dom.documentElement.xml);
}

function modify()
{
    //修改元素
    alert("修改元素前\n" + Dom.documentElement.xml);
    var nodelist=Dom.documentElement.childNodes;
    var newElement =Dom.createNode(1,"newNode","");
    newElement.text="新的节点";
    nodelist[1].replaceChild(newElement,nodelist[1].lastChild);
    alert("修改元素后\n"+Dom.documentElement.xml);
}
function del()
{
    alert("删除元素前\n" + Dom.documentElement.xml);
    var nodelist=Dom.documentElement.childNodes;
    var removeElements=nodelist[0].getElementsByTagName("address");
    nodelist[0].removeChild(removeElements[0]);
    alert("删除元素后\n" + Dom.documentElement.xml);
}
</script>
</HEAD>

<BODY onLoad="myload();">
<input type="button" value="添加" οnclick="add()"/>
<input type="button" value="修改" οnclick="modify()"/>
<input type="button" value="删除" οnclick="del()"/>
<div id = "result"/>
</BODY>
</HTML>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值