javascript构造XML树结构
2007-11-27 17:55:19 来源:WEB开发网用JavaScript构造xml(标准化越来越近了)树结构的一个例子,包括删除添加节点。
关键词:asp, JavaScript, Java, xml(标准化越来越近了)
将Client端的加入的数据,形成所需要的xml(标准化越来越近了)树。
这种方法适合于处理Client端复杂的数据,
最后在Server端完成xml(标准化越来越近了)树的存储。
说白了就是xml(标准化越来越近了)只是一个存放临时数据的垃圾站。^_^
大家可以在这个模型基础上做扩充移动\修改等功能。
下列存为EnterItem.htm
<html>
<head>
<title>
Item Information
</title>
</head>
<body>
<div id=additem name=additem></div>
<form name=formItem action=processForm.asp method=post>
<TABLE WIDTH=60% BORDER=2 bordercolor=orange CELLSPACING=1 CELLPADDING=1>
<tr>
<td colspan=2><h3>Enter your Item information</h3></td>
</tr>
<tr>
<td>Item Name:</td>
<td><input type=text name=ItemName></td>
<tr>
<tr>
<td>Mount: </td>
<td><input type=text name=Mount></td>
</tr>
<tr>
<td> Spec: </td>
<td><input type=text name=Spec></td>
</tr>
<tr>
<td> price:</td>
<td><input type=text name=price></td>
</tr>
<tr>
<td align=center colspan=2><input type=button id=btnSub name=btnSub value=Add onclick=add();>
<input type=button id=btndel name=btndel value=Del onclick=Del(document.all.delNo.value);>
Del No : <input type=text size=3 name=delNo>
</td>
</tr>
</TABLE>
</form>
<input type=button id=lookxml(标准化越来越近了) name=lookxml(标准化越来越近了) value=look xml(标准化越来越近了) onclick=window.open(EPR.xml(标准化越来越近了),xml(标准化越来越近了),toolbar=no,status=no,scrollbars=yes,height=400,width=750,top=50,left=30);><br>
</body>
</html>
<script>
var ItemNo=0;
var objDom = new ActiveXObject(MSxml(标准化越来越近了).DOMDocument); file://define a DOM object
objDom.async=false;
var objRoot = objDom.createElement(EPR); file://create the root
objDom.appendChild(objRoot)
var xml(标准化越来越近了)HTTP = new ActiveXObject(Microsoft.xml(标准化越来越近了)HTTP);
file://-------add a new node----------
function add()
{
ItemNo++;
var objField = objDom.createElement(Item)
objDom.documentElement.appendChild(objField);
curnode=objDom.documentElement.lastChild;
var namedNodeMap =curnode.attributes;
var objattID = objDom.createAttribute(ItemNo);
objattID.text =ItemNo
namedNodeMap.setNamedItem(objattID);
var objattID = objDom.createElement(Name)
objattID.text=document.formItem.ItemName.value
curnode.appendChild(objattID)
document.formItem.ItemName.value=;
var objattID = objDom.createElement(Mount)
objattID.text=document.formItem.Mount.value
curnode.appendChild(objattID)
document.formItem.Mount.value=
var objattID = objDom.createElement(Spec)
objattID.text=document.formItem.Spec.value
curnode.appendChild(objattID)
document.formItem.Spec.value=
var objattID = objDom.createElement(price)
objattID.text=document.formItem.price.value
curnode.appendChild(objattID)
document.formItem.price.value=
savexml(标准化越来越近了)();
}
file://-----------Del Node-------------
function Del(DelNo)
{
var cond
cond=//.[@ItemNo= +DelNo+];
var delNode=objDom.documentElement.selectSingleNode(cond)
var del=objRoot.removeChild(delNode)
savexml(标准化越来越近了)();
}
file://----------save xml(标准化越来越近了)----------------
function savexml(标准化越来越近了)()
{
xml(标准化越来越近了)HTTP.open(POST,savexml(标准化越来越近了).asp,false);
xml(标准化越来越近了)HTTP.send(objDom);
if(xml(标准化越来越近了)HTTP.responseText.indexOf(Error:)!=-1)
{
alert(xml(标准化越来越近了)HTTP.responseText);
}
}
</script>
存为savexml(标准化越来越近了).asp
<%@ Language=VBScript %>
<%
Response.expires=-1
dim xml(标准化越来越近了)rec
set xml(标准化越来越近了)rec=server.CreateObject(microsoft.xml(标准化越来越近了)dom)
xml(标准化越来越近了)rec.async=false
xml(标准化越来越近了)rec.load(Request)
xml(标准化越来越近了)rec.save Server.MapPath(\)&\EPR.xml(标准化越来越近了)
%>
更多精彩
赞助商链接