将HTML表单数据存储为XML格式 - 2
将HTML表单数据存储为XML格式 - 2,将HTML表单数据存储为XML格式 - 2
MyXMLDoc.xml:
<?xml version="1.0"?
<rootElement
<childElement1 /
<childElement2 /
</rootElement
在"MyXMLDoc.xml"文档中,childElement1 和 childElement2 会以空的elements形式出现。如果它们被赋值,那么每
个值都将由标记符括起来。
现在,让我们来思考一下如何将HTML数据写到XML文档中去。我们已经知道该如何创建和存储XML文档。将一个表单数
据写到XML文档中去的过程,现在已演变成为Request Object"s Form Collection以及将每一个表单域的value书定到XML
element value 中去的步骤重复。以上可以通过ASP来完成。
例:将数据输送到XML
现在,我们举一个普通的HTML表单的例子来说明。此Form有用户名,地址,电话,以及E-MAIL等几个域。并将这些信
息写入XML文件中并保存。
EnterContact.html:
<html
<head
<title
Contact Information
</title
</head
<body
<form action="processForm.asp" method="post"
<h3请输入你的联系方式</h3
First Name: <input type="text" id="firstName" name="firstName"<br
Last Name: <input type="text" id="lastName" name="lastName"<br
Address #1: <input type="text" id="address1" name="address1"<br
Address #2: <input type="text" id="address2" name="address2"<br
Phone Number: <input type="text" id="phone" name="phone"<br
E-Mail: <input type="text" id="email" name="email"<br
<input type="submit" id="btnSub" name="btnSub" value="Submit"<br
</form
</body
</html
将Form 中数据发送到processForm.asp.。这是一个ASP页面,在这个ASP中将反复调用同一个函数将form数据写入XML
文件。
processForm.asp:
<%
"--------------------------------------------------------------------
"The "ConvertFormtoXML" Function accepts to parameters.
"strXMLFilePath - The physical path where the XML file will be saved.
"strFileName - The name of the XML file that will be saved.
"--------------------------------------------------------------------
Function ConvertFormtoXML(strXMLFilePath, strFileName)
"Declare local variables.
Dim objDom
Dim objRoot
Dim objField
Dim objFieldValue
Dim objattID
Dim objattTabOrder
Dim objPI
Dim x
"Instantiate the Microsoft XMLDOM.
Set objDom = server.CreateObject("Microsoft.XMLDOM")
objDom.preserveWhiteSpace = True
"Create your root element and append it to the XML document.
Set objRoot = objDom.createElement("contact")
objDom.appendChild objRoot
"Iterate through the Form Collection of the Request Object.
For x = 1 To Request.Form.Count
"Check to see if "btn" is in the name of the form element.
"If it is, then it is a button and we do not want to add it
"to the XML document.
If instr(1,Request.Form.Key(x),"btn") = 0 Then
"Create an element, "field".
Set objField = objDom.createElement("field")
"Create an attribute, "id".
Set objattID = objDom.createAttribute("id")
"Set the value of the id attribute equal the the name of
"the current form field.
objattID.Text = Request.Form.Key(x)
"The setAttributeNode method will append the id attribute
"to the field element.
objField.setAttributeNode objattID
"Create another attribute, "taborder". This just orders the
"elements.
Set objattTabOrder = objDom.createAttribute("taborder")
&quo