Realtime xml fra asp og database

12. maj 2008

Det sker oftere og oftere at systemer skal udveksle data med hinanden og det sker for det meste i form af XML, men det lader desværre til at mange enten virker bange for at komme i gang med et udvikle noget med XML eller også at det bare er en for stor mundfuld.

Derfor forsøger jeg her at komme med et lille eksempel på hvordan man ved hjælp af ASP kan lave en realtime XML fil med data fra en database. Der er ikke så meget at forklare til nedenstående kode - det er bare at komme i gang, læse de små kommentarer i scriptet og så ellers få det tilrettet til sit eget behov.

xml.asp

<%
Response.Expires = -1
Response.AddHeader
"pragma", "no-cache"
Response.CacheControl = "no-cache"
Response.AddHeader "cache-control", "no-store"
response.Charset = "UTF-8"
Response.ContentType = "text/xml" 'fortæl at dette er et xml dokument

Set xmldoc = Server.CreateObject("Microsoft.XMLDOM") 'opret xml dokument objekt
xmldoc.preserveWhiteSpace = true

Set
rootelement = xmldoc.createElement("images") 'opret root element
xmldoc.appendChild rootelement

'opret forbindelse til databasen
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("/database.mdb")

SQL =
"SELECT id, billede FROM mintabel" 'vores sql
Set pics = Conn.Execute(SQL)

Do While Not pics.eof 'Loop recordsettet igennem
  Set picelement = xmldoc.createElement("pic") 'opret parent node
 
rootelement.appendChild picelement

  Set idelement = xmldoc.createElement("id") 'opret id element
 
idelement.Text = pics("id") 'sæt værdi fra databasen
 
picelement.appendChild idelement

 
Set imageelement = xmldoc.createElement("image") 'opret image element
 
imageelement.Text = pics("picture") 'sæt værdi fra databasen
 
picelement.appendChild imageelement

  pics.movenext
Loop

'husk at luk recordset
pics.Close
Set pics = Nothing

Set
p = xmldoc.createProcessingInstruction("xml","version='1.0' encoding='UTF-8'")
xmldoc.insertBefore p,xmldoc.childNodes(0)

Response.Write xmldoc.Xml
'udskriv dokumentet

Set xmldoc = Nothing 'husk at luk xml objektet

'husk at luk database forbindelsen
Conn.Close
Set Conn = Nothing
%>

Når denne side bliver kaldt bliver XML filen genereret realtime så vi har hele tiden et opdateret data-ark vi nu kan sende til samarbejdspartnere etc.

ASP ,

Tilføj kommentar


(Viser dit Gravatar icon)

  Country flag

biuquote
  • Kommentar
  • Eksempel
Loading