XML sur le serveur


Les fichiers XML sont des fichiers texte brut, tout comme les fichiers HTML.

XML peut être facilement stocké et généré via des serveurs web standards.


Stockage des fichiers XML sur le serveur

Les fichiers XML sont stockés sur les serveurs Internet exactement de la même manière que les fichiers HTML.

Lancez Windows Notepad et écrivez les lignes suivantes :

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

Enregistrez ensuite le fichier sur le serveur web avec un nom de fichier approprié, tel que "note.xml".


Génération de XML avec ASP

XML peut être généré côté serveur sans installer de logiciel XML.

Pour générer une réponse XML depuis le serveur, écrivez simplement le code suivant et enregistrez-le en tant que fichier ASP sur le serveur web :

<%
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>")
%>

Notez que le type de contenu de cette réponse doit être défini sur "text/xml".

。

Si vous voulez apprendre ASP, veuillez visiter notreAccueilTrouvez le tutoriel ASP.


Générer du XML avec PHP

Pour générer une réponse XML à partir du serveur avec PHP, utilisez le code suivant :

<?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>Souviens-toi de moi ce week-end</message>";
echo "</note>";
?>

Notez que le type de contenu dans l'en-tête de réponse doit être défini sur "text/xml".

。

Si vous voulez apprendre le PHP, veuillez visiter notreAccueilTrouvez le tutoriel PHP.


Génération de XML à partir d'une base de données

Du XML peut être généré à partir d'une base de données sans installer de logiciel XML.

Pour générer une réponse de base de données XML à partir du serveur, écrivez simplement le code suivant et enregistrez-le en tant que fichier ASP sur le serveur web :

<%
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>")
%>

Voir la sortie réelle de la base de données du fichier ASP ci-dessus。

L'exemple ci-dessus utilise ASP avec ADO.

Si vous souhaitez apprendre ASP et ADO, veuillez visiter notreAccueilTrouvez les tutoriels associés.


Transformation de XML avec XSLT sur le serveur

Le code ASP suivant convertit un fichier XML en XHTML sur le serveur :

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

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

'Transformer le fichier
Response.Write(xml.transformNode(xsl))
%>

Explication de l'exemple

  • Le premier bloc de code crée une instance de l'analyseur XML Microsoft (XMLDOM) et charge le fichier XML en mémoire.
  • Le deuxième bloc de code crée une autre instance de l'analyseur et charge le fichier XSL en mémoire.
  • Le dernier code utilise le document XSL pour transformer le document XML et envoie le résultat à votre navigateur au format XHTML.

。


Enregistrer du XML dans un fichier avec ASP

Cet exemple ASP crée un document XML simple et l'enregistre sur le serveur :

<%
text="<note>"
text=text & "<to>Tove</to>"
text=text & "<from>Jani</from>"
text=text & "<heading>Rappel</heading>"
text=text & "<body>Ne m'oublie pas ce week-end !</body>"
text=text & "</note>"

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

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

Autres extensions