2008/12/06
最近在学数据结构树的操作,又看下了书,抄了几段代码上来,我是看懂了,各位呢?感觉很像。

movie.html:

<!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=gb2312" />
<title>增加新电影</title>
<script src="IELoadXML.js"></script>
<script src="view.js"></script>
<script src="add.js"></script>
<script src="del.js"></script>
<script language="javascript" type="text/javascript">
    var xmlDOM = loadXML("movie.xml");
</script>
</head>
<body onload="refresh()">
<center>
<form id="movieDOM" name="movieDOM" action="#" method="get">
<h2>XML文档显示</h2>
<textarea id="view" name="view" rows="10" cols="50" ></textarea>
<hr />
<br />
ID:<input type="text" name="id" id="id" size=20/><br />
名称:<input type="text" name="name" id="name" size=20/><br />
</form>
<input type="submit" value="增加新电影" onclick="add();refresh()"/>
<input type="submit" value="删除最后一个" onclick="delLast();refresh()"/>
<input type="submit" value="刷新" onclick="refresh();"/>
</center>
</body>
</html>



IELoadXML.js:

function loadXML(xmlDoc){
  try{
    var _xmlDOM;
    _xmlDOM= new ActiveXObject("Microsoft.XMLDOM");
    _xmlDOM.async = false;
    _xmlDOM.load(xmlDoc);
    alert("加载成功");
    return(_xmlDOM);
  }catch(e){
    alert(e.message);
    return(null);
  }
}




view.js:


function dump(string){
  var current = document.movieDOM.view.value;
  current += string;
  document.movieDOM.view.value = current;
}
function view(node){
  var type = node.nodeType;
  if(type == 1){
    dump("\<" + node.tagName);
    var attr = node.attributes;
    if(attr){
      var count = attr.length;
      var index = 0;
      while(index < count){
        attribute = attr[index];
        if(attribute)
          dump(" "+attribute.name+"="+attribute.value);
        index++;        
      }
    }
    if(node.hasChildNodes()){
      dump(">\n");
      var _ChildNodes=node.childNodes;
      var length = _ChildNodes.length;
      var count = 0;
      while(count < length){
        _ChildNode = _ChildNodes[count];
        view(_ChildNode);
        count++;      
      }
      dump("</"+node.tagName+">\n");
    }
    else dump("/>\n");
  }else if(type == 3){
    dump(node.data+"\n");
  }
}
function refresh(){
  document.movieDOM.view.value = '';
  view(xmlDOM.documentElement);
}




add.js:

function add(){
    var rootE = xmlDOM.documentElement;
    var newMovie = xmlDOM.createElement('movie');
    var newID =  xmlDOM.createElement('id');
    var id = xmlDOM.createTextNode(document.movieDOM.id.value);
    newID.appendChild(id);
    newMovie.appendChild(newID);
    var newName = xmlDOM.createElement('name');
    var name = xmlDOM.createTextNode(document.movieDOM.name.value);
    newName.appendChild(name);
    newMovie.appendChild(newName);
    rootE.appendChild(newMovie);
}




del.js:

function delLast(){
    var rootE = xmlDOM.documentElement;
    if(rootE.hasChildNodes()){
      rootE.removeChild(rootE.lastChild);
    }else{
      alert("该节点没有子节点!");
    }
}
Tags: ,
2008/10/04
  来厦门没买过什么东西,也没带过什么东西,买的书和带的书是最多的。刚开学的时候,搬了一大堆文学作品,本想闲暇时回味下,结果发现,在宿舍根本看不下书,静不下心,临放假的时候,提了一袋书回家。
  说到买书,总是去外图,也买了不少书,有的带回家了,有的还放在学校看,今天下午,问了大三的课程,他们开了VB/ASP/XML,还有一门传说中我认为不会开的Linux课程,想了下,VB有时间了解下,至于ASP,我早放弃了,直接过渡到PHP,But,XML我还不会,这是一个好东西,要学习了,最后的Linux,找个时间自己电脑装个虚拟机玩下,一直没时间。《XML 基础教程:入门、DOM、Ajax与Flash》这本书以前有看过,好像很大本,当时没买,现在想买回来看下,希望有帮助。其实任何东西只要你熟练了,一切都简单了,看来又要有一段磨合期了,下周一定要得到XML的相关书籍。 这里还有Else给我的一本PHP 圣经,等我PHP 到接近中级水平了在还书,嘻嘻。
Tags: , ,
Theme by Marshal. Powered by Bo-Blog 2.1.1 ReleaseCode detection by Bug.Center.Team