Парсим просторы XML

Никита Кислицин

Xakep, номер #061, стр. 061-094-4


<!ENTITY name SYSTEM "path_to_text">

Пишем программу

После столь подробного описания технологии XML мы напишем несложную программу на PHP. Она будет реализовывать весьма актуальную задачу: экспортирование данных из MySQL таблицы в XML-документ. Этот скрипт решает как проблему бэкапа данных, так и совместного доступа к инфе из различных систем.

Собственно, сам кусок кода программы смотри на врезке. Целиком я его привести не могу, т.к. он весьма громоздкий. Полный вариант как обычно бери с CD Хакера или с моего сайта www.ired.ru. Обрати внимание, что сайт новый. Вот что на нем есть: в разделе "разработчикам" выложены все старые статьи с картинками и исходниками; также на сайте находится много дополнительной инфы по программированию, информатике и прикладной математике. Так что заходи ко мне в гости – почерпнешь много новой полезной информации.

P.S. В статье я не сделал подробного описания функций PHP по работе с ML-парсером, однако и на сайте, и на диске лежит отличный документ по этому поводу - дерзай!

Перевод mySQL-данных в XML представление

<?

/* Функция перевода mySQL-данных в XML представление */

function mysql2xml($filename, $rootname) {

/* Получаем массив с именами полей */

$field = GetFields($table);

$file = fopen($filename, w);

/* пишем в файл заголовок документа */

fputs($file, "<?xml version=\"1.0\"?>\n");

fputs($file, "<$rootname>\n");

$sql = mysql_query("select * from $Table");

/* В цикле по полученным из таблицы записям... */

while($res = mysql_fetch_array($sql)) {

/* Создаем элемент, куда будем вписывать данные из таблицы */

fputs($file, "<element>\n");

/* Выводим содержимое в таблице */

for($i=1; $i<$NumOfFields; $i++) {

$f = $field[$i];

fputs($file, "<$f>$res[$f]</$f>\n");

} fputs($file, "</element>\n"); }

fputs($file, "</$rootname>\n"); }

?>

Доки

Почитай эти документы:

www.w3.org/TR/REC-xml

www.w3.org/Style/XSL/

mylib.kiev.ua/view.php?id=286

webmaster.pp.ru/php4/ref.domxml.html

www.vsi.ru/library/PHP/php4_manual/ref.xml.html

INFO

6 октября 2000 года некоммерческая организация WWW Consortium (www.w3.org) разработала техническую спецификацию и полное описание языка XML (eXtended Markup Language - расширяемый язык разметки). С этим документом можно ознакомиться на сайте организации - www.w3.org/TR/REC-xml.

CD

На компакт-диске лежат различные документы по XML, а также полный вариант скрипта, конвертирующего MySQL таблицу в XML-документ и обратно.

Назад на стр. 061-094-3  Содержание