文章探索:   分类:    关键字:  
  + 栏目导航
  + 相关文章
Ajax核心:XMLHTTP组件相关技术资料
远程获取内容,并将内容存在本地电脑..
xmlhttp组件获取远程文件并筛选出目标..
XMLHTTP对象及其方法
把HTML表单提交的数据转化成XML文件
利用XMLHTTP无刷新添加数据之Post篇
Js+Xml:不刷新页面获取对应网址的网页..
xml(元标记语言)学习基础一
Java语言编程中更新XML文档的常用方法..
简析JAVA中的XML编程
XML及其技术指南
XML教程(2)--XML元素与XML属性值
XML教程(1)--严格的语法
从XML到Java代码的数据绑定之一
神奇的XML--突破CGI权限的约束
基于XML的数据库总体分析
XML 中的常见问题(3)
XML 中的常见问题(2)
XML 中的常见问题(1)
一个简单的XML Schema的例子
Web设计中如何使用XML数据3
Web设计中如何使用XML数据2
Web设计中如何使用XML数据1
大话XML(3)XML的语法
构造未来Web页面的工具语言-- XML
不离开页面刷新数据
文件上传的实现
XML的产生
将XML文件链接至HTML网页
动态产生XML文档的几种方式


技术教程 -> XML教程 ->  
把HTML表单提交的数据转化成XML文件
来源:转载   人气:1721   录入时间:2007-11-8
    通常,在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)
   
   \'setAttributeNode 方法把id属性值追加到field元素。
   objField.setAttributeNode objattID
   
   \'创建属性taborder。
   Set objattTabOrder = objDom.createAttribute("taborder")
   
   \'设定taborder的属性值
   objattTabOrder.Text = x
   
   \'把taborder的属性值追加到field元素中去。
   objField.setAttributeNode objattTabOrder
   
   \'创建一个新的元素field_value.
   Set objFieldValue = objDom.createElement("field_value")
   
   \'赋值
   objFieldValue.Text = Request.Form(x)
   
   \'追加field元素为根元素的子元素。
   objRoot.appendChild objField
   
   \'追加field_value做为子元素的内容
   objField.appendChild objFieldValue
   End If
   Next
   
   
   \'创建xml声明
   Set objPI = objDom.createProcessingInstruction("xml", "version=\'1.0\' encoding=\'gb2312\'")
   
   \'把xml生命追加到xml文档
   objDom.insertBefore objPI, objDom.childNodes(0)
   
   \'保存xml文件
   objDom.save strXMLFilePath & "\\" & strFileName
   
   \'释放所有对象所引用的值
   Set objDom = Nothing
   Set objRoot = Nothing
   Set objField = Nothing
   Set objFieldValue = Nothing
   Set objattID = Nothing
   Set objattTabOrder = Nothing
   Set objPI = Nothing
   End Function
   
   
   \'发生错误时继续执行
   On Error Resume Next
   
   \'调用函数ConvertFormtoXML把文件存放到指定的文件目录和文件名。
   ConvertFormtoXML "D:\\aspexam","Contact.xml"
   
   \'如果发生错误,提示用户,否则报告成功。
   If err.number <> 0 then
   Response.write("保存form值出现错误!!!")
   Else
   Response.write("提交成功!!")
   End If
   %>
   
   用IE5+打开Contact.xml文件.




Copyright(C)2007-2024 广州市佳沛数码科技有限公司 版权所有
公司地址: 广州市荔湾区东漖北路560号511室
电话:020-81803473 传真:020-81544987