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



