XML technical m...login
XML technical manual
author:php.cn  update time:2022-04-14 15:57:53

XML server


XML files on the server


XML files are plain text files similar to HTML files.

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


Storing XML files on the server

XML files are stored on an Internet server 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 use an appropriate file name, such as "note.xml", on the web server Save this file.


Generating XML via 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>")
%>

Please note that the content of this response Type must be set to "text/xml".

View how this ASP file is returned from the server.

If you want to learn ASP, please find ASP tutorials on our home page.


Generating XML via 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>";
?>

Please note that the content type of the response header must be set to "text/xml".

See how this PHP file is returned from the server.

If you want to learn PHP, find PHP tutorials on our home page.


Generating XML from 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>")
%>

View the actual database output of the above ASP file.

The above example uses ASP with ADO.

If you want to learn ASP and ADO, please find related tutorials on our home page.


Convert XML via XSLT on the server

The following ASP code converts the 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))
%>

Explanation of Example

  • 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 an XSL document to transform the XML document and sends the result to your browser as XHTML.

See how the above code runs.


Save XML as a file through ASP

This ASP instance will create a simple XML document and save the document 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")
%>

php.cn