Парсим просторы 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-документ и обратно.