XML sul server

I file XML sono file di testo puri simili ai file HTML.

Puoi memorizzare e generare XML in modo semplice con un server web standard.

Memorizzazione dei file XML sul server

Il modo in cui i file XML vengono memorizzati sui server Internet è identico a quello dei file HTML.

Apri il Blocco di note di Windows e inserisci il seguente codice:

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

Poi, salva questo file con un nome appropriato, come "note.xml", sul server web.

Generazione XML con PHP

Puoi generare XML sul server senza dover installare alcun software XML.

Se desideri generare una risposta XML su un server utilizzando PHP, usa il seguente codice:

<?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>";
?>

Attenzione, il contenuto del header di risposta deve essere impostato su "text/xml".

Vedi come questo file PHP viene restituito dal server.

Se desideri imparare PHP, leggi la nostra guida PHP.

Generazione XML tramite ASP

L'XML può essere generato sul server senza l'installazione di alcun software XML.

Per generare una risposta XML dal server - è sufficiente scrivere semplicemente il seguente codice e salvarlo come file ASP sul 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>")
%>

Attenzione, il contenuto del tipo di risposta deve essere impostato su "text/xml".

Vedi come questo file ASP viene restituito dal server

Se desideri imparare ASP, puoi leggere il nostro tutorial ASP.

Generazione XML da database

L'XML può essere generato dal database senza l'installazione di alcun software XML.

Per generare una risposta XML database dal server, è sufficiente scrivere semplicemente il seguente codice e salvarlo come file ASP sul 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>")
%>

Visualizza l'output reale del database del codice ASP sopra

L'esempio sopra utilizza ASP con ADO.

Se vuoi imparare ADO, visita il nostro tutorial su ADO.

Usa XSLT per convertire XML sul server

Il seguente codice ASP converte il file XML in HTML sul server:

<%
"Carica XML"
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("simple.xml"))
"Carica XSL"
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("simple.xsl"))
"Converti file"
Response.Write(xml.transformNode(xsl))
%>

Esempio di spiegazione

  1. Il primo blocco di codice crea un'istanza del parser Microsoft XML (XMLDOM) e carica il file XML nella memoria
  2. Il secondo blocco di codice crea un'altra istanza dell'analizzatore e carica il file XSL nella memoria
  3. L'ultima riga di codice utilizza un documento XSL per trasformare il documento XML e inviare il risultato come HTML al browser. Fatto!

Vediamo come il codice sopra funziona

Salva XML come file tramite ASP

Questa istanza ASP creerà un documento XML semplice e lo salverà sul server:

<%
"<note>"
text=text & "<to>George</to>"
text=text & "<from>John</from>"
text=text & "<heading>Promemoria</heading>"
text=text & "<body>Non dimenticare l'incontro!</body>"
text=text & "</note>"
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(text)
xmlDoc.Save("test.xml")
%>