首  页
站长信箱
868搜索
网站登录
免费计数器
免费留言本
IP来源查询
网站技术教程
网站流量统计
文章探索:   分类:    关键字:  
    什么?你还在找兼职?上兼客吧,现在兼客吧平台太火了,知名度和诚信度也很高,注册就送0.5元现金,满3元就能提现,马上到账了!最低3元就能提现,大家可以注册下试试!注册地址:http://www.jiankeba.com/computeryc1688
  + 栏目导航
  + 相关文章
用ASP生成XML数据文档(RSS订阅..
asp添加xml节点问题
Asp.net+Xml实现无数据库论坛(..
Asp.net+Xml实现无数据库论坛(..
Asp.net+Xml实现无数据库论坛(..
js添加、修改、删除xml节点例子
ASP.NET查找XML节点的几个方法
使用ASP添加xml节点功能
使用asp修改xml中的节点
ASP历遍XML节点与字节点之简单..
ASP向xml文件中的添加节点
ASP遍历XML节点
asp修改xml节点属性
小白ajax定时更新xml数据练习
Ajax核心:XMLHTTP组件相关技术..
远程获取内容,并将内容存在本..
xmlhttp组件获取远程文件并筛选..
XMLHTTP对象及其方法
把HTML表单提交的数据转化成XML..
利用XMLHTTP无刷新添加数据之Po..
Js+Xml:不刷新页面获取对应网址..
xml(元标记语言)学习基础一
Java语言编程中更新XML文档的常..
简析JAVA中的XML编程
XML及其技术指南
XML教程(2)--XML元素与XML属性..
XML教程(1)--严格的语法
从XML到Java代码的数据绑定之一
神奇的XML--突破CGI权限的约束
基于XML的数据库总体分析

技术教程 -> XML教程 ->  
把HTML表单提交的数据转化成XML文件
来源:转载   人气:3278   录入时间:2006/5/11


    通常,在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文件.



| 网站转让 | 站长信箱 | 网站登录 | 技术教程 | 免费计数器 | 免费留言本 | 868流量统计 | 好帮手网站营销 |
地址:广东省阳江市  联系电话:13725641179 杨先生
Copyright 2004-2019 868资源网- 版权所有    粤ICP备05007330号