Вопрос № 120951: Помогите написать скрипт для извлечения данных из *.fb2 (xml).
Уменя есть большое количество книг (тысячи), в формате *.fb2. Мне необходимо сделать список этих книг, в БД MySQL. Вобще fb2 это разновидность xml, там всё по тегам расписанно, м...
Вопрос № 120.951
Помогите написать скрипт для извлечения данных из *.fb2 (xml).
Уменя есть большое количество книг (тысячи), в формате *.fb2. Мне необходимо сделать список этих книг, в БД MySQL. Вобще fb2 это разновидность xml, там всё по тегам расписанно, мне же надо распознать их и забить по соответствующим полям таблицы.
Пример:
Вилл Третьяков
Игра в Грааль тут картинка коде
надо сделать БД вида:
Автор - Название - Картинка
и ещё сохранить эту картинку в соответствующий файл.
Надеюсь на вашу помощь, с php у меня проблем нет, но вот xml тёмный лес, так с налёту не разобрался. При анализировании в лоб есть проблема теги могут встречатся в документе несколько раз, например имя может быть и у автора и у владельца, а мне нужен только автор.
Отправлен: 31.01.2008, 00:10
Вопрос задал: NiGHT (статус: Практикант)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Kruphi
Здравствуйте, NiGHT!
Приведённый Вами пример не показывает случай встречи тегов несколько раз.
По имеющимся у меня fb2 книгам видно, что автор и название прописаны внутри тегов <title-info>...</title-info>. А владелец и т.п. в <document-info>...
В приложенном примере я просто сразу ограничиваю область поиска зоной <title-info>...</title-info> :)
Элемент массива $res['cover_jpg'] думаю Вам сохранить функцией fwrite($fp,$res['cover_jpg']) в файл открытый бинарно $fp=fopen(...,'wb') не составит труда.
Приложение:
Ответ отправил: Kruphi (статус: 3-ий класс)
Ответ отправлен: 31.01.2008, 10:23 Оценка за ответ: 5 Комментарий оценки: большое спасибо за текст. вобще я спрашивал больше в надежде разобраться с xml, т.к. я не любитель разовых решений. но решение полностью рабочее и есть комментарии. хотя обработку ошибок можно сделать и погибче, части поиска подстроки оформить функцией. А с прямым сохранением в файл не получается, там нужна какая то декодировка.
Вы имеете возможность оценить этот выпуск рассылки. Нам очень важно Ваше мнение!
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.