JavaScript构造XML树结构

王朝java/jsp·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

JavaScript构造XML树结构

JavaScript构造XML树结构 用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 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"

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航