XML op de Server

XML-bestanden zijn tekstbestanden die vergelijkbaar zijn met HTML-bestanden.

Het is gemakkelijk om XML op te slaan en te genereren met een standaard webserver.

Opslaan van XML-bestanden op de server

De manier waarop XML-bestanden worden opgeslagen op een Internet-server is volledig hetzelfde als HTML-bestanden.

Open dan de Windows Notepad en voer de volgende code in:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <from>John</from>
  <to>George</to>
  <message>Remember me this weekend</message>
</note>

Sla dit bestand dan op met een geschikte bestandsnaam, zoals "note.xml", op de webserver.

XML genereren met PHP

Je kunt XML genereren op de server zonder enige XML-software te installeren.

Gebruik de volgende code om XML-reacties te genereren met PHP op de server:

<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<note>";
echo "<from>John</from>";
echo "<to>George</to>";
echo "<message>Remember me this weekend</message>";
echo "</note>";
?>

Let op, de inhoudstype van de responskop moet ingesteld worden op "text/xml".

Bekijk hoe deze PHP-bestand wordt geretourneerd door de server.

Als je PHP wilt leren, lees dan onze PHP-tutorial.

XML genereren met ASP

XML kan op de server worden gegenereerd zonder enige XML-software te installeren.

Om XML-respons van de server te genereren - schrijf eenvoudig de volgende code en sla het op als een ASP-bestand op de server:

<%
response.ContentType="text/xml"
response.Write("<?xml version='1.0' encoding='UTF-8'?>")
response.Write("<note>")
response.Write("<from>John</from>")
response.Write("<to>George</to>")
response.Write("<message>Remember me this weekend</message>")
response.Write("</note>")
%>

Let op, de inhoudstype van deze respons moet worden ingesteld op "text/xml".

Bekijk hoe deze ASP-bestand wordt geretourneerd van de server

Als je ASP wilt leren, kun je onze ASP-tutorial lezen.

XML genereren uit database

XML kan worden gegenereerd uit een database zonder enige XML-software te installeren.

Om XML-databaseresponsen van de server te genereren, schrijf eenvoudig de volgende code en sla het op als ASP-bestand op de server:

<%
response.ContentType = "text/xml"
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0;"
conn.open server.mappath("/datafolder/database.mdb")
sql="select fname,lname from tblGuestBook"
set rs=Conn.Execute(sql)
response.write("<?xml version='1.0' encoding='UTF-8'?>")
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>")
%>

Bekijk de daadwerkelijke database-uitvoer van de bovenstaande ASP-code

Het bovenstaande voorbeeld gebruikt ASP met ADO.

Als je ADO wilt leren, bezoek dan onze 'ADO-tutorial'.

Gebruik XSLT om XML te transformeren op de server

Onderstaande ASP-code transformeert het XML-bestand op de server naar HTML:

<%
'Laad XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("simple.xml"))
'Laad XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("simple.xsl"))
'Transformeer bestand
Response.Write(xml.transformNode(xsl))
%>

Voorbeeld uitleg

  1. Het eerste code-blok maakt een instantie van de Microsoft XML-parser (XMLDOM) aan en laadt het XML-bestand in het geheugen
  2. De tweede code-blok maakt een andere instantie van de parser aan en laadt het XSL-bestand in het geheugen
  3. Het laatste regel van de code gebruikt een XSL-document om de XML-document te transformeren en het resultaat als HTML naar de browser te sturen. Klaar!

Bekijk hoe de bovenstaande code draait

Sla de XML op als bestand via ASP

Deze ASP-instantie maakt een eenvoudige XML-document aan en slaat het document op op de server:

<%
text="<note>"
text=text & "<to>George</to>"
text=text & "<from>John</from>"
text=text & "<heading>Reminder</heading>"
text=text & "<body>Don't forget the meeting!</body>"
text=text & "</note>"
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(text)
xmlDoc.Save("test.xml")
%>