当前位置: 首页 > 图文教程 > 网络编程 > ASP > 把HTML表单提交的数据转化成XML文件

ASP
Adodb.Command 平时很少注意到的一个参数
Asp.Net控件加载错误的解决方法
远程连接access数据库的方法
创建具有JScript的HTML的XMLHTTP
在Asp中如何快速优化分页的技巧
用VB生成DLL封装ASP代码,连接数据库
RS.OPEN SQL,CONN,A,B 全接触
利用adodb.stream直接下载任何后缀的文件(防盗链)
用ASP编程控制在IIS建立Web站点的程序代码
使用VBScript操作Html复选框(CheckBox)控件
把文章内容中涉及到的图片自动保存到本地服务器
两个不同数据库表的分页显示解决方案
使用组件封装数据库操作(一)
使用组件封装数据库操作(二)
如何在pb中创建COM组件,并在asp中调用并返回结果集?
用ASP和Microsoft.XMLDOM分析远程XML文件
浅谈无刷新取得远程数据技术
将ASP纪录集输出成n列的的表格形式显示的方法
在ASP中通过oo4o连接Oracle数据库的例子
Server Application Error详细解决办法

ASP 中的 把HTML表单提交的数据转化成XML文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 102 ::
收藏到网摘: n/a

      通常,在asp中进行的form表单提交的数据都被写进数据库管理系统中去,如果你想要你的数据是方便携带的数据,你可以把它写进一个XML文件中去。这种方法是跨平台的,因此你所收集的信息不需要进行转换。
为了实现上面的想法,你必须先利用Microsoft XMLDOM建立一个XML文件,Microsoft XMLDOM对象有一个扩展对象库,它可以创建组成XML文件所需要的元素、属性、属性值。
    当XMLDOM对象实例化以后,必须对各个元素进行引用来建立XML的结构,下面的例子就是先建立根元素,并把她追加到XML文件中;然后创建各个子元素,并追加元素的属性值。最后保存为XML文件。

实例化 Microsoft XMLDOM Object: <%
Dim objDom
Dim objRoot
Dim objChild1
Dim objChild2
Dim objPI
Set objDom = Server.CreateObject("Microsoft.XMLDOM")
Set objRoot = objDom.createElement("rootElement")

objDom.appendChild objRoot
Set objChild1 = objDom.createElement("childElement1")

objRoot.appendChild objChild1
Set objChild2 = objDom.createElement("childElement2")

objRoot.appendChild objChild2

Set objPI = objDom.createProcessingInstruction("xml","version='1.0'")
objDom.insertBefore objPI, objDom.childNodes(0)
objDom.Save "c:\MyXMLDoc.xml"
%>




    一旦你保存了文件,用IE5+打开后,样式如下[当然,属性还没有被赋值]:
   MyXMLDoc.xml: <?xml version="1.0"?>
<rootElement>
<childElement1 />
<childElement2 />
</rootElement>




 

下面我们来看看怎样利用这个对象来存储用户的输入信息。

首先建立输入表单的页面。
EnterContact.html: <html>
<head>
<title>
通讯信息
</title>
</head>
<body>
<form action="processForm.asp" method="post">
  <h3>请输入您的通讯信息:</h3>
  姓  名: <input type="text" id="Name" name="姓名"><br>
  性  别: <input type="text" id="sexName" name="性别"><br>
  地  址: <input type="text" id="address" name="地址"><br>
  工作单位: <input type="text" id="company" name="工作单位"><br>
  电  话: <input type="text" id="phone" name="电话"><br>
  电子邮件: <input type="text" id="email" name="电子邮件"><br>
  <input type="submit" id="btnSub" name="btnSub" value="提交"><br>
</form>
</body>
</html>



然后编写ASP代码,遍历表单元素,并把输入的信息写进XML文件。
processForm.asp: <%
'--------------------------------------------------------------------
'函数 "ConvertFormtoXML"接收传递的参数。
'strXMLFilePath - XML存放的物理地址。
'strFileName - 要保存的XML文件的名字。
'--------------------------------------------------------------------
Function ConvertFormtoXML(strXMLFilePath, strFileName)
'定义本地变量.
Dim objDom
Dim objRoot
Dim objField
Dim objFieldValue
Dim objattID
Dim objattTabOrder
Dim objPI
Dim x

'实例化Microsoft XMLDOM对象.
Set objDom = server.CreateObject("Microsoft.XMLDOM")
objDom.preserveWhiteSpace = True

'创建XML文档的根元素contact,并追加到XML文档中。
Set objRoot = objDom.createElement("通讯录")
objDom.appendChild objRoot

'遍历Request对象Form元素的集合。
For x = 1 To Request.Form.Count

If instr(1,Request.Form.Key(x),"btn") = 0 Then

'创建元素 "field".
Set objField = objDom.createElement("field")

'创建属性 "id".
Set objattID = objDom.createAttribute("id")

'设定id属性的值等于Form中各元素的值。
objattID.Text = Request.Form.Key(x)

'setAt