XML on the Server


XML files are plain text files just like HTML files.

XML can be easily stored and generated through standard web servers.


Storing XML Files on the Server

XML files are stored on Internet servers in exactly the same way as HTML files.

Start Windows Notepad and write the following lines:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<from>Jani</from>
<to>Tove</to>
<message>Remember me this weekend</message>
</note>

Then save the file on the web server with an appropriate filename, such as "note.xml".


Generating XML with ASP

XML can be generated on the server side without installing any XML software.

To generate an XML response from the server - simply write the following code and save it as an ASP file on the web server:

<%
response.ContentType="text/xml"
response.Write("<?xml version='1.0' encoding='ISO-8859-1'?>")
response.Write("<note>")
response.Write("<from>Jani</from>")
response.Write("<to>Tove</to>")
response.Write("<message>Remember me this weekend</message>")
response.Write("</note>")
%>

Note that the content type of this response must be set to "text/xml".

See how this ASP file returns from the server。

If you want to learn ASP, please visit ourHomeFind the ASP tutorial.


Generating XML with PHP

To generate an XML response from the server using PHP, use the following code:

<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "<note>";
echo "<from>Jani</from>";
echo "<to>Tove</to>";
echo "<message>Remember me this weekend</message>";
echo "</note>";
?>

Note that the content type in the response header must be set to "text/xml".

See how this PHP file returns from the server。

If you want to learn PHP, please visit ourHomeFind the PHP tutorial.


Generating XML from a Database

XML can be generated from a database without installing any XML software.

To generate an XML database response from the server, simply write the following code and save it as an ASP file on the web server:

<%
response.ContentType = "text/xml"
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0;"
conn.open server.mappath("/db/database.mdb")

sql="select fname,lname from tblGuestBook"
set rs=Conn.Execute(sql)

response.write("<?xml version='1.0' encoding='ISO-8859-1'?>")
response.write("<guestbook>")
while (not rs.EOF)
response.write("<guest>")
response.write("<fname>" & rs("fname") & "</fname>")
response.write("<lname>" & rs("lname") & "</lname>")
response.write("</guest>")
rs.MoveNext()
wend

rs.close()
conn.close()
response.write("</guestbook>")
%>

See the actual database output of the above ASP file。

The example above uses ASP with ADO.

If you want to learn ASP and ADO, please visit ourHomeFind the related tutorials.


Transforming XML with XSLT on the Server

The following ASP code converts an XML file to XHTML on the server:

<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("simple.xml"))

'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("simple.xsl"))

'Transform file
Response.Write(xml.transformNode(xsl))
%>

Example Explanation

  • The first code block creates an instance of the Microsoft XML parser (XMLDOM) and loads the XML file into memory.
  • The second code block creates another instance of the parser and loads the XSL file into memory.
  • The last code uses the XSL document to transform the XML document and sends the result to your browser as XHTML.

See how the above code works。


Saving XML as a File with ASP

This ASP example creates a simple XML document and saves it to the server:

<%
text="<note>"
text=text & "<to>Tove</to>"
text=text & "<from>Jani</from>"
text=text & "<heading>Reminder</heading>"
text=text & "<body>Don't forget me this weekend!</body>"
text=text & "</note>"

set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async=false
xmlDoc.loadXML(text)

xmlDoc.Save("test.xml")
%>

Other Extensions