<Records><Record><Info AutoNumber="1" Text="Hello" Memo="This is a memo" DateTime="01/01/2000" Currency="235" YesNo="-1" Byte="100" Integer="12345" Long="195409342" Single="23903.24" Double="32087.240923" DblPercent="2.31" DblScientific="2143900" DblFixed="3213.321" DblStandard="3213.123" LngFixed="2314123"/></Record><Record><Info AutoNumber="2" Text="Textisfun" Memo="Hello, this is a memo" DateTime="02/01/2000" Currency="4324" YesNo="-1" Byte="200" Integer="12309" Long="94123940" Single="491239" Double="41232" DblPercent="23" DblScientific="256" DblFixed="316" DblStandard="413.32" LngFixed="31232"/></Record><Record><Info AutoNumber="3" Text="Really" Memo="Fun memos" DateTime="03/01/2000" Currency="5324" YesNo="0" Byte="32" Integer="200" Long="12309" Single="9.412394E+07" Double="491239" DblPercent="41232" DblScientific="23" DblFixed="256" DblStandard="316" LngFixed="413"/></Record><Record><Info AutoNumber="4" Text="Science" Memo="Crazy memos are _____" DateTime="04/01/1900" Currency="4092" YesNo="0" Byte="93" Integer="20245" Long="491239" Single="12309" Double="41232" DblPercent="23" DblScientific="41232" DblFixed="316" DblStandard="56.32" LngFixed="31232"/></Record><Record><Info AutoNumber="6" Text="Text" Memo="Memo
This is the second line, where is it?
What about the 3rd line?" DateTime="02/06/2000" Currency="9423032" YesNo="-1" Byte="250" Integer="-12322" Long="432" Single="4.567865E+11" Double="1.432423E+33" DblPercent="0.00033" DblScientific="9E+99" DblFixed="494444" DblStandard="39232.23" LngFixed="3129231"/></Record></Records>

<!--
This is a better version of my previous utility that turns any ODBC datasource into a perfect 
XML file. It is what I used when I had to switch my entire project from Access to XML. To say the 
least, it worked! My project was a complete success and is now doing e-commerce. Many things I 
learned during that project, and the right way was always found. This is the first of many right 
ways that I had to find. If you feel the least bit squeemish about this code, don't use this 
code to turn your database into an XML. XML is the new wave, and if you want to destroy efficiency 
for your clients with old technology, this software is NOT for you.

If you're interested in XML, then you're a smart web or software developer! Check out www.vbxml.com
and Microsoft Developer Network (MSDN) XML at http://msdn.microsoft.com/XML. If you like my work 
and want more, I'd be happy to help in any way I can. Of course, if what you need requires me to 
use my brain, I gotta charge $20 per hour. Free stuff includes sample source code and help with 
errors. As of 02/15/2001, I am available as a Web Developer and Consultant at $20 per hour or 
going rate for part-time and seasonally full-time projects. Contact me at jvoss@altsci.com.

Without any further ado, the Active Server Page code that makes this work is as follows. 

DSN="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & server.mappath("DataTypes.mdb")
strTable = "DataTypes"
strSQL = "SELECT * FROM " & strTable
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open DSN
set oRS = oConn.Execute(strSQL)
oRS.MoveFirst
Set xmlDataTbl = Server.CreateObject("MSXML2.DOMDocument")
xmlDataTbl.loadxml "<Records></Records>" 'load the root node
Set xmlRecord = Server.CreateObject("MSXML2.DOMDocument")
xmlRecord.loadxml "<Records><Record><Info/></Record></Records>" 'load the generic record node
do while Not oRS.EOF 'Iterate through each record.
	set tmpRecNow = xmlDataTbl.documentElement.appendChild(xmlRecord.documentElement.firstChild.cloneNode(True)) 'Add a new generic record
	for j = 0 to oRS.Fields.count - 1 'this will make it go through each field
		tmpRecNow.firstchild.setAttribute oRS.fields(j).name, oRS(j) 'This adds an attribute to the info node with the name and value of the field.
	next
	oRs.MoveNext
	i = i + 1
loop
Response.ContentType = "text/xml"
Response.write xmlDataTbl.xml
xmlDataTbl.save Server.Mappath("data.xml")
-->