XML на сервере

XML-файлы аналогичны текстовым файлам, таким как HTML.

Вы можете легко хранить и генерировать XML с помощью стандартного веб-сервера.

Хранение XML-файлов на сервере

Способ хранения XML-файлов на Internet-сервере полностью аналогичен способу хранения HTML-файлов.

Откройте Блокнот Windows и введите следующий код:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <from>John</from>
  <to>George</to>
  <message>Помните меня на этой неделе</message>
</note>

Затем сохраните этот файл с подходящим именем файла, например, "note.xml", на веб-сервере.

Генерация XML с помощью PHP

Вы можете генерировать XML на сервере, не устанавливая никаких XML-программ.

Если вы хотите использовать PHP для генерации XML-ответа на сервере, пожалуйста, используйте следующий код:

<?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>Помните меня на этой неделе</message>";
echo "</note>";
?>

Обратите внимание, что содержимое заголовка ответа должно быть установлено как "text/xml".

Просмотрите, как этот файл PHP возвращает данные с сервера.

Если вы хотите изучать PHP, пожалуйста, читайте наш курс PHP.

Генерация XML с помощью ASP

XML можно генерировать на сервере, не устанавливая никаких XML-программ.

Для генерации XML-ответа от сервера просто напишите следующий код и сохраните его на сервере в файле ASP:

<%
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>Помните меня на этой неделеенд</message>")
response.Write("</note>")
%>

Обратите внимание, что содержимое типа ответа должно быть установлено в "text/xml".

Просмотрите, как этот файл ASP возвращается от сервера

Если вы хотите изучить ASP, вы можете прочитать наш учебник по ASP.

Генерация XML из базы данных

XML можно генерировать из базы данных, не устанавливая никаких XML-программ.

Для генерации XML-ответа от сервера просто напишите следующий код и сохраните его на сервере в файле ASP:

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

Просмотрите реальный вывод базы данных ASP выше

В этом примере используется ASP с ADO.

Если вы хотите изучить ADO, пожалуйста, посетите наш "ADO Учебник".

Использование XSLT для преобразования XML на сервере

Ниже приведен пример ASP-кода, который преобразует XML-файл в HTML на сервере:

<%
' Загрузка XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("simple.xml"))
' Загрузка XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("simple.xsl"))
' Преобразование файла
Response.Write(xml.transformNode(xsl))
%>

Пример объяснение

  1. Первый код-блок создает инстанцию Microsoft XML парсера (XMLDOM) и загружает XML-файл в память
  2. Второй код-блок создает другую инстанцию парсера и загружает XSL-файл в память
  3. Последний код использует XSL-документ для преобразования XML-документации в HTML и отправляет результат в браузер. Готово!

Посмотрите, как работает上面的 код

Сохранение XML с помощью ASP в файл

Этот пример ASP создает простую XML-документацию и сохраняет ее на сервере:

<%
"<note>"
text=text & "<to>Джордж</to>"
text=text & "<from>Джон</from>"
text=text & "<heading>Памятка</heading>"
text=text & "<body>Не забудьте встречу!</body>"
text=text & "</note>"
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(text)
xmlDoc.Save("test.xml")
%>