站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Javascript 专题JavaScript构造XML树结构

JavaScript构造XML树结构

摘要: JavaScript构造XML树结构


用JavaScript构造XML树结构的一个例子,包括删除添加节点。

关键词:ASP, JavaScript, Java, XML

将Client端的加入的数据,形成所需要的XML树。
这种方法适合于处理Client端复杂的数据,
最后在Server端完成XML树的存储。
说白了就是XML只是一个存放临时数据的垃圾站。^_^
大家可以在这个模型基础上做扩充移动\修改等功能。

下列存为EnterItem.htm

<head>
<BR> Item Information<BR>
</head>

<body>


<form name=formItem action="processForm.asp" method="post">
<table WIDTH="60%" BORDER="2" bordercolor="orange" CELLSPACING="1" CELLPADDING="1">
<tr>
<td colspan=2>

Enter your Item information

</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');">

</body>

<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 xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");

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()
{
xmlHTTP.open("POST","saveXML.asp",false);
xmlHTTP.send(objDom);
if(xmlHTTP.responseText.indexOf("Error:")!=-1)
{
alert(xmlHTTP.responseText);
}
}
</script>

存为saveXML.asp
<%@ Language=VBScript %>
<%
Response.expires=-1
dim xmlrec
set xmlrec=server.CreateObject("microsoft.xmldom")
xmlrec.async=false
xmlrec.load(Request)
xmlrec.save Server.MapPath("\")&"\EPR.xml"
%>

</td> </tr> <tr> <td vAlign=top align=left height="100%">
↑返回目录
前一篇: JavaScript修改注册表
后一篇: 一个很不错的主页效果。。你试试!!!