XML no Servidor

Os arquivos XML são arquivos de texto puro, semelhantes aos arquivos HTML.

Pode ser armazenado e gerado facilmente com um servidor web padrão.

Armazenar arquivos XML no servidor

A maneira como os arquivos XML são armazenados no servidor da Internet é exatamente a mesma que os arquivos HTML.

Abra o Bloco de Notas do Windows e insira o seguinte código:

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

Em seguida, salve o arquivo com um nome apropriado, como "note.xml", no servidor web.

Gerar XML com PHP

Você pode gerar XML no servidor e não é necessário instalar nenhum software XML.

Para usar PHP para gerar respostas XML no servidor, use o código a seguir:

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

Atenção, o conteúdo do cabeçalho da resposta deve ser configurado como "text/xml".

Veja como este arquivo PHP é retornado do servidor.

Se você quiser aprender PHP, leia nosso tutorial PHP.

Gerar XML usando ASP

O XML pode ser gerado no servidor sem a necessidade de instalar qualquer software XML.

Para gerar uma resposta XML do servidor - basta simplesmente escrever o seguinte código e salvá-lo como arquivo ASP no servidor:

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

Atenção, o tipo de conteúdo da resposta deve ser configurado como "text/xml".

Veja como este arquivo ASP é retornado pelo servidor

Se você quiser aprender ASP, você pode ler nosso tutorial ASP.

Gerar XML a partir do banco de dados

O XML pode ser gerado a partir do banco de dados, sem a necessidade de instalar qualquer software XML.

Para gerar uma resposta de banco de dados XML do servidor, basta simplesmente escrever o seguinte código e salvá-lo como arquivo ASP no servidor:

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

Veja a saída real do banco de dados do código ASP acima

O exemplo acima usa ASP com ADO.

Se você precisar aprender ADO, acesse nosso tutorial de ADO.

Usando XSLT para converter XML no servidor

O seguinte código ASP converte o arquivo XML no servidor para HTML:

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

Explicação do exemplo

  1. O primeiro bloco de código cria uma instância do parser XML da Microsoft (XMLDOM) e carrega o arquivo XML na memória
  2. O segundo bloco de código cria outra instância do parser e carrega o arquivo XSL na memória
  3. A última linha de código usa um documento XSL para transformar o documento XML e enviar o resultado como HTML para o navegador. Concluído!

Veja como o código acima funciona

Salvando XML como arquivo usando ASP

Este exemplo ASP cria um documento XML simples e o salva no servidor:

<%
"<note>"
text=text & "<to>George</to>"
text=text & "<from>John</from>"
text=text & "<heading>Recordatório</heading>"
text=text & "<body>Não se esqueça da reunião!</body>"
text=text & "</note>"
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(text)
xmlDoc.Save("test.xml")
%>