Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: парсинг данных MySQL в XML
 
 автор: maxfade   (14.05.2008 в 09:33)   письмо автору
 
 

Подскажите как данные MySQL перегнать в файл XML.

Облазил весь форум и Google, но в основном производиться действие обратное, т.е. из файла вывод инфы...

Необходимо следующее.

Допустим есть страничка с таблицей из MySQL, необходимо данные из этой таблицы перегнать в файл xml.

Как это сделать?

Заранее спасибо.

   
 
 автор: mechanic   (14.05.2008 в 09:45)   письмо автору
 
   для: maxfade   (14.05.2008 в 09:33)
 

например так

<?php
header
('Content-Type: text/xml; charset=utf-8');
echo 
'<?xml version="1.0" encoding="UTF-8"?>';
$sql 'select запрос тут';
$res mysql_query($sql);
echo 
'<items>';
while(
$row mysql_fetch_assoc($res)) {
    echo 
'<item>';
    foreach(
$row as $key => $val) {
        echo 
'<' $key '>' $val '</' $key '>';
    }
    echo 
'<item>';
}
echo 
'</items>';
?>

   
 
 автор: maxfade   (14.05.2008 в 10:44)   письмо автору
 
   для: mechanic   (14.05.2008 в 09:45)
 

Пишет:


Ошибка синтаксического анализа XML: обьявление xml не в начале внешней сущности 
Адрес: http://tst/gtt/admin/parser.php 
Строка 2, символ 1:<?xml version="1.0" encoding="UTF-8"?><items><br />
^

   
 
 автор: Lelik   (14.05.2008 в 14:48)   письмо автору
 
   для: maxfade   (14.05.2008 в 10:44)
 

обычно такая фигня происходит если указана кодировка UTF-8, но сам документ сохранен в другой кодировке.
ЗЫ. рекомендую создавать XML через объект DOMDocument. по-моему использоваие строк для построения XMLя не является верным решением.

   
 
 автор: cheops   (14.05.2008 в 12:54)   письмо автору
 
   для: maxfade   (14.05.2008 в 09:33)
 

1) Какая версия MySQL?
2) Дело где происходит на сервере в Интренет или на локальной машине? Дело в том, что утилита mysqldump позволяет сохранять дамп базы данных в виде XML-файла.

   
 
 автор: maxfade   (14.05.2008 в 14:02)   письмо автору
 
   для: cheops   (14.05.2008 в 12:54)
 

Версия MySQL: 5.1.22

Висить на локалхосте..

   
 
 автор: Lelik   (14.05.2008 в 14:50)   письмо автору
 
   для: cheops   (14.05.2008 в 12:54)
 

2)...Дело в том, что утилита mysqldump позволяет сохранять дамп базы данных в виде XML-файла.
я думаю сохранять весь дамп не самое лучшее решение, так как может понадобиться только часть данных

   
 
 автор: cheops   (14.05.2008 в 16:31)   письмо автору
 
   для: Lelik   (14.05.2008 в 14:50)
 

mysqldump позволяет сохранить дамп отдельной таблицы, например в следующей команде утилита сохраняет дамп таблицы pages базы данных wet в XML-формате
mysqldump -u root -p --xml --tables wet pages > xml.xml

   
 
 автор: Lelik   (14.05.2008 в 16:39)   письмо автору
 
   для: cheops   (14.05.2008 в 16:31)
 

утилиту, я так понимаю, низзя встроить в скрипт пхп?

   
 
 автор: cheops   (14.05.2008 в 16:44)   письмо автору
 
   для: Lelik   (14.05.2008 в 16:39)
 

Если отключены обратные кавычки, функции вроде exec() и system() (как правило, они отключены), то нельзя.

   
 
 автор: Lelik   (14.05.2008 в 16:45)   письмо автору
 
   для: cheops   (14.05.2008 в 16:44)
 

это не делает прожке плюсов...

   
 
 автор: cheops   (14.05.2008 в 16:55)   письмо автору
 
   для: Lelik   (14.05.2008 в 16:45)
 

Это не её задача - у неё административный уровень (я поэтому и интересовался где расположен сервер и в каком контексте решается задача), в PHP эту задачу лучше решать при помощи библиотеки, а не сторонних утилит, иначе это может понизить переносимость приложений. Однако, если это разовое действие - mysqldump - идеальный и самый быстрый по скорости выполнения кандидат.

   
 
 автор: maxfade   (15.05.2008 в 09:33)   письмо автору
 
   для: cheops   (14.05.2008 в 16:55)
 

Спасибо, буду пробовать, если что отпишу...

Пока сделал просто выгрузку по запросу, и обычным копипастом в Excel :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования