要求用JS调出XML里面的内容。。而且可以增加删除DOM节点。。代码如下:
XML的:
<?xml version="1.0" encoding="gb2312"?>
<cartoon>
<car>
<name> 海贼王 </name>
<rank> 第一</rank>
</car>
<car>
<name>海贼王</name>
<rank>第二</rank>
</car>
<car>
<name>海贼王</name>
<rank>第三</rank>
</car>
<car>
<name>海贼王</name>
<rank>第四</rank>
</car>
<car>
<name>海贼王</name>
<rank>第五</rank>
</car>
<car>
<name>海贼王</name>
<rank>第六</rank>
</car>
<car>
<name>海贼王</name>
<rank>第七</rank>
</car>
</cartoon>JS代码如下:
html>
<head>
<script language="JavaScript"
for="window" event="onload">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
nodes = xmlDoc.documentElement.childNodes;
op.innerText = nodes.item(0).text;
paradise.innerText = nodes.item(1).text;
xinfeng.innerText = nodes.item(2).text;
ganglian.innerText = nodes.item(3).text;
heita.innerText = nodes.item(4).text;
huzixiaoji.innerText = nodes.item(5).text;
FT.innerText = nodes.item(6).text;
function tianjia()
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
var root = xmlDoc.selectSingleNode("cartoon");
var xe1=xmlDoc.createElement("car");
var xesub1=xmlDoc.createElement("name");
xesub1.innerText="langxin";
xe1.appendChild(xesub1);
var xesub2=xmlDoc.createElement("rank");
xesub2.innerText="diba";
xe1.appendChild(xesub3);
root.appendChild(xe1);
xmlDoc.save("main.xml");
}
function shanchu()
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
currNode=doc.documentElement.childNodes.item(0);
xmlDoc.documentElement.removeChild(currNode);
xmlDoc.save("main.xml");
}
</script><title>动漫排行榜</title>
</head><body bgcolor="pink">
<center>
<h1>09年我最喜欢动漫排行榜</h1>
</center>
<hr>
<span id="op"></span><hr>
<span id="paradise"></span>
<hr>
<span id="xinfeng"></span>
<hr>
<span id="ganglian"></span>
<hr>
<span id="heita"></span>
<hr>
<span id="huzixiaoji"></span>
<hr>
<span id="FT"></span>
<form action="" method="post" id="form1" name="form1">
<input type="button" value="添加" name="tianjia" onclick="tianjia()">
</form>
<form action="" method="post" id="form2" name="form2">
<input type="button" value="删除" name="shanchu" onclick="shanchu()">
</form>
</body>
</html> 我想请问一下,为什么每次我点添加或者删除按钮的时候,总是显示找不到属性跟方法呢?可是这些方法都查了书的,大小写没有错误啊。想问问到底是哪里出错了。。
抱歉哈。。我没有积分的。。不能给分。。
XML的:
<?xml version="1.0" encoding="gb2312"?>
<cartoon>
<car>
<name> 海贼王 </name>
<rank> 第一</rank>
</car>
<car>
<name>海贼王</name>
<rank>第二</rank>
</car>
<car>
<name>海贼王</name>
<rank>第三</rank>
</car>
<car>
<name>海贼王</name>
<rank>第四</rank>
</car>
<car>
<name>海贼王</name>
<rank>第五</rank>
</car>
<car>
<name>海贼王</name>
<rank>第六</rank>
</car>
<car>
<name>海贼王</name>
<rank>第七</rank>
</car>
</cartoon>JS代码如下:
html>
<head>
<script language="JavaScript"
for="window" event="onload">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
nodes = xmlDoc.documentElement.childNodes;
op.innerText = nodes.item(0).text;
paradise.innerText = nodes.item(1).text;
xinfeng.innerText = nodes.item(2).text;
ganglian.innerText = nodes.item(3).text;
heita.innerText = nodes.item(4).text;
huzixiaoji.innerText = nodes.item(5).text;
FT.innerText = nodes.item(6).text;
function tianjia()
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
var root = xmlDoc.selectSingleNode("cartoon");
var xe1=xmlDoc.createElement("car");
var xesub1=xmlDoc.createElement("name");
xesub1.innerText="langxin";
xe1.appendChild(xesub1);
var xesub2=xmlDoc.createElement("rank");
xesub2.innerText="diba";
xe1.appendChild(xesub3);
root.appendChild(xe1);
xmlDoc.save("main.xml");
}
function shanchu()
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
currNode=doc.documentElement.childNodes.item(0);
xmlDoc.documentElement.removeChild(currNode);
xmlDoc.save("main.xml");
}
</script><title>动漫排行榜</title>
</head><body bgcolor="pink">
<center>
<h1>09年我最喜欢动漫排行榜</h1>
</center>
<hr>
<span id="op"></span><hr>
<span id="paradise"></span>
<hr>
<span id="xinfeng"></span>
<hr>
<span id="ganglian"></span>
<hr>
<span id="heita"></span>
<hr>
<span id="huzixiaoji"></span>
<hr>
<span id="FT"></span>
<form action="" method="post" id="form1" name="form1">
<input type="button" value="添加" name="tianjia" onclick="tianjia()">
</form>
<form action="" method="post" id="form2" name="form2">
<input type="button" value="删除" name="shanchu" onclick="shanchu()">
</form>
</body>
</html> 我想请问一下,为什么每次我点添加或者删除按钮的时候,总是显示找不到属性跟方法呢?可是这些方法都查了书的,大小写没有错误啊。想问问到底是哪里出错了。。
抱歉哈。。我没有积分的。。不能给分。。
详见注释。
<html>
<head>
<script language="JavaScript" for="window" event="onload">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
nodes = xmlDoc.documentElement.childNodes;
op.innerText = nodes.item(0).text;
paradise.innerText = nodes.item(1).text;
xinfeng.innerText = nodes.item(2).text;
ganglian.innerText = nodes.item(3).text;
heita.innerText = nodes.item(4).text;
huzixiaoji.innerText = nodes.item(5).text;
FT.innerText = nodes.item(6).text;
</script>
<!-- 下面的函数不能定义到上面这个script标签里面,上面的script已经指定了for和event,而点击按钮的对象和事件与上面定义的不符合,因此调用不到 -->
<script language="JavaScript">
function tianjia()
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
var root = xmlDoc.selectSingleNode("cartoon");
var xe1=xmlDoc.createElement("car");
var xesub1=xmlDoc.createElement("name");
// xesub1.innerText="langxin";
// xml不是html,没有innerText属性,报的属性问题就是这个
xesub1.appendChild(xmlDoc.createTextNode("langxin"));
xe1.appendChild(xesub1);
var xesub2=xmlDoc.createElement("rank");
// xesub2.innerText="diba";
// xml不是html,没有innerText属性,报的属性问题就是这个
xesub2.appendChild(xmlDoc.createTextNode("diba"));
xe1.appendChild(xesub2);
root.appendChild(xe1);
xmlDoc.save("main.xml"); // 这个一般是没有权限保存的,因此你的愿望恐怕实现不了了
}
function shanchu()
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("main.xml");
currNode=doc.documentElement.childNodes.item(0);
xmlDoc.documentElement.removeChild(currNode);
xmlDoc.save("main.xml");
}
</script> <title>动漫排行榜 </title>
</head> <body bgcolor="pink">
<center>
<h1>09年我最喜欢动漫排行榜 </h1>
</center>
<hr>
<span id="op"> </span> <hr>
<span id="paradise"> </span>
<hr>
<span id="xinfeng"> </span>
<hr>
<span id="ganglian"> </span>
<hr>
<span id="heita"> </span>
<hr>
<span id="huzixiaoji"> </span>
<hr>
<span id="FT"> </span>
<div>
<input type="button" value="添加" name="tianjia" onclick="tianjia()">
</div>
<div>
<input type="button" value="删除" name="shanchu" onclick="shanchu()">
</div>
</body>
</html>