JavaScript构造XML树结构

原创 2001年08月10日 13:21:00

用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"
%>

Javascript实现树结构

树节点属性  Node    data:节点值   parent :指向节点的父节点  children:指向节点的孩子节点 Tree 属性与方法    _root  :树的根节点  tra...
  • cwzhsi
  • cwzhsi
  • 2016年04月23日 23:02
  • 2248

python构建XML树结构

#1.构建XML元素 #encoding=utf-8 from xml.etree import ElementTree as ET import sys root=ET.Element('co...
  • yueguanghaidao
  • yueguanghaidao
  • 2012年02月18日 22:33
  • 3302

js--数据结构--树

1.树的构造函数1.1Node属性: data存储的值 parent指向节点的父节点 children指向许多孩子节点 Node构造函数:function Node(data) { t...
  • github_34514750
  • github_34514750
  • 2016年04月08日 22:18
  • 1748

xml文件解析成树状结构

package com.fcar.frameworks.utils; import com.fcar.frameworks.core.GlobalVar; import com.fcar.frame...
  • qq_17769347
  • qq_17769347
  • 2016年06月22日 14:47
  • 1874

一个js构造树的函数

进来需要将服务器返回的数组转化成树,所以写了这个函数 function create_tree(data,pid){ pid = pid || 0; var list = []; data.m...
  • xiunen
  • xiunen
  • 2014年09月01日 22:59
  • 800

java 递归树结构

java 递归树结构
  • wslyy99
  • wslyy99
  • 2011年04月02日 16:08
  • 830

数据结构例程——二叉树的构造

本文是数据结构基础系列(6):树和二叉树中第13课时二叉树的构造的例程。1.由先序序列和中序序列构造二叉树 定理:任何n(n≥0)个不同节点的二叉树,都可由它的中序序列和先序序列唯一地确定。 证明(数...
  • sxhelijian
  • sxhelijian
  • 2015年10月20日 05:29
  • 4545

c#用最简单的方法构造树(treeview)

 private void Form1_Load(object sender, EventArgs e)        ...{            file_table();           ...
  • try530
  • try530
  • 2007年01月10日 16:13
  • 1151

表达树构造(java)

表达树构造 查看运行结果  18% 通过 表达树是一个二叉树的结构,用于衡量特定的表达。所有表达树的叶子都有一个数字字符串值。而所有表达树的非叶子都有另一个操作字符串值。 给定一个表达...
  • a925907195
  • a925907195
  • 2015年07月22日 23:57
  • 1254

python 构造xml

原文链接: python 构造xml代码import xml.etree.cElementTree as ET import xml.etree.ElementTree as ElementTreef...
  • u010526125
  • u010526125
  • 2017年04月27日 10:26
  • 374
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript构造XML树结构
举报原因:
原因补充:

(最多只允许输入30个字)