JavaScript构造XML树结构(转载) |
用JavaScript构造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 objectobjDom.async=false;var objRoot = objDom.createElement("EPR"); file://create/ the rootobjDom.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 =ItemNonamedNodeMap.setNamedItem(objattID);
var objattID = objDom.createElement("Name")objattID.text=document.formItem.ItemName.valuecurnode.appendChild(objattID)document.formItem.ItemName.value="";
var objattID = objDom.createElement("Mount")objattID.text=document.formItem.Mount.valuecurnode.appendChild(objattID)document.formItem.Mount.value=""
var objattID = objDom.createElement("Spec")objattID.text=document.formItem.Spec.valuecurnode.appendChild(objattID)document.formItem.Spec.value=""
var objattID = objDom.createElement("price")objattID.text=document.formItem.price.valuecurnode.appendChild(objattID)document.formItem.price.value=""
saveXML();}
file://-----------Del/ Node-------------function Del(DelNo){var condcond="//.[@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=-1dim xmlrecset xmlrec=server.CreateObject("microsoft.xmldom")xmlrec.async=falsexmlrec.load(Request)xmlrec.save Server.MapPath("\")&"\EPR.xml"%>
|
|
|

.: 公告
欢迎大家的到来,如果您能够在这里获得收获,那将是我最大的快乐。
同时也欢迎您把精彩的文章、精湛的技术放在这里,让每一个到这里的人都能享受到这种快乐!
--hyl_fr |
|
« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
|
.: 我的分类(专题)
|

.: 最新日志
.: 最新回复
|

blog名称: 日志总数:9 评论数量:0 留言数量:0 访问次数:46689 建立时间:2005年1月20日 |
|

.: 留言板
|

.: 链接
|

|