Everyone is getting into XML but most of us have our data in Access or SQL databases. You can dump your data to an XML file in an instant by creating a recordset and writing its contents to a flat file. The only trick is to include the formatting that XML expects. Here's an example of code that creates an XML file from an Access database. You'll need to replace your own connection string and data fields. Also, watch for bad wordwrapping and carriage returns in the connection string provided here.
<%
dotable("SELECT * FROM cpdocs10 ORDER BY Title")
sub dotable(query)
Set OBJdbConnection = Server.CreateObject("adodb.Connection")
connstr = "Provider=MSDASQL.1;Persist Security Info=False;
User ID=admin;Connect Timeout=15;Extended Properties=""DBQ=c:\inetpub\wwwroot\kjc350\cpinfonet.mdb;
DefaultDir=c:\inetpub\wwwroot\kjc350;Driver={Microsoft Access Driver (*.mdb)};
DriverId=25;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;
SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"";Locale Identifier=1033;
User Id=admin;"
OBJdbConnection.Open connstr
' Construct a simple query to retrieve the data
sqlquery = query
Set rsdoc = OBJdbConnection.execute(SQLQuery)
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\documents.xml", True)
a.WriteLine("<?xml version=""1.0""?>")
a.WriteLine("<DOCUMENTS>")
while not rsdoc.eof
a.WriteLine(space(3) & "<DOCUMENT>")
a.WriteLine(space(6) & "<TITLE>" & rsdoc("Title") & "</TITLE>")
a.WriteLine(space(6) & "<PART>" & rsdoc("Part") & "</PART>")
a.WriteLine(space(6) & "<FILESIZE>" & rsdoc("FileSize") & "</FILESIZE>")
a.WriteLine(space(6) & "<DATE>" & rsdoc("Date") & "</DATE>")
a.WriteLine(space(6) & "<FILENAME>" & rsdoc("Filename") & "</FILENAME>")
a.WriteLine(space(3) & "</DOCUMENT>")
rsdoc.movenext
wend
a.WriteLine("</DOCUMENTS>")
a.Close
set a=Nothing
set fs=Nothing
Set rsdoc=Nothing
Set OBJdbConnection=Nothing
end sub
%>
Done!
</body>
</html>
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible.
Submit your tip here.