You can do the same thing in ASP, with VBScript as your scripting langauge.
In the following code, I'm taking form fields and sticking their input between XML tags that I defined. The only thing is that I haven't yet added in the VBScript "CreateTextFile" method to automatically write this to a file on the server. It's definetly possible, though.
In the meantime, I just run this script and then view the source in MSIE, and then save the outputted HTML as an XML file. It's perfectly formmated for it....just not automated.
In this example, FORM.ASP is just the run-of-the-mill HTML form, but it posts to a preformatted XML format in CREATE_NEW.ASP (albeit saved as an ASP). More complex scripting to have it saved and posted as XML directly to the server.
*********************************************
FORM.ASP
*********************************************
<HTML>
<HEAD><TITLE>A sample form</TITLE></HEAD>
<BODY>
Enter your info here:<br><br>
<FORM method="post" action="create_new_xml.asp">
<INPUT TYPE="text" width="65" name="name"><br>
Enter your name above<br><br>
<INPUT TYPE="text" width="65" name="email"><br>
Enter your email above<br><br>
<INPUT TYPE="text" width="65" name="address"><br>
Enter your email above<br><br>
<INPUT type="submit" value="Submit" name="submit">
</FORM>
</BODY>
</HTML>
*********************************************
CREATE_NEW_XML.ASP
*********************************************
<% @ Language = VBScript %>
<%
' DECLARE VARIABLES AND STATE THEIR VALUES
Dim name, email, address
name = Request.Form("name"

email = Request.Form("email"

address = Request.Form("address"

%>
<?xml version="1.0"?>
<CUSTOMERS>
<CLIENT>
<NAME><%=name%></NAME>
<EMAIL><%=email%></EMAIL>
<ADDRESS><%=address%></ADDRESS>
</CLIENT>
</CUSTOMERS>
*****************************
Cheers from Guam,
Jas