//Читаем файл.
//Имя файла<br>
$filename = 'файло';
//Создаем XML документ
$doc = new DOMDocument();
//Отключаем проверку ошибок
$doc->strictErrorChecking = false;
$doc->recover = true;
//Загружаем содиржоме файла
$load = $doc->load($filename,LIBXML_NOERROR);
if (!$load) {
//echo "Ошибка загрузки!";
$fb2error=1;
}
//Получаем содержимое секции <description>
$description = $doc->getElementsByTagName('description');
$description = $description->item(0);
if (!$description) {
//echo "No description!";
}
//Получаем название книги
$title_info = $description->getElementsByTagName('title-info')->item(0);
//Получаем список жанров, к которым относится книга
$genre_list = $title_info->getElementsByTagName('genre');
if (count($genre_list)==0){ $fb2error=1; }
foreach ($genre_list as $element ){
//Помещаем список жанров в массив
$genres[] = $element->nodeValue;
}
//Получаем список авторов.
$authors_list = $title_info->getElementsByTagName('author');
$element = '';
if (count($authors_list)==0){ $fb2error=1; }
foreach ($authors_list as $element) {
$authors[] = new author($element->getElementsByTagName('first-name')->item(0)->nodeValue,
$element->getElementsByTagName('last-name')->item(0)->nodeValue,
$element->getElementsByTagName('middle-name')->item(0)->nodeValue,
$element->getElementsByTagName('nickname')->item(0)->nodeValue,
$element->getElementsByTagName('email')->item(0)->nodeValue);
}
//Получаем список переводчиков:
$translator = $title_info->getElementsByTagName('translator');
$element = '';
foreach ($translator as $element) {
$translators[] = new author($element->getElementsByTagName('first-name')->item(0)->nodeValue,
$element->getElementsByTagName('last-name')->item(0)->nodeValue,
$element->getElementsByTagName('middle-name')->item(0)->nodeValue,
$element->getElementsByTagName('nickname')->item(0)->nodeValue,
$element->getElementsByTagName('email')->item(0)->nodeValue);
}
//Получаем оставшуюся информацию о книге:
//Название книги
$book_title = $title_info->getElementsByTagName('book-title')->item(0)->nodeValue;
//Аннотация
$annotation = $title_info->getElementsByTagName('annotation')->item(0)->nodeValue;
//Дата
$date = $title_info->getElementsByTagName('date')->item(0)->nodeValue;
также научился выдергивать картинки, но возникла необходимость перезаписывать некоторые книги, у одной книги качественная картинка, у другой с тем же названием и автором текст без ошибок и большего объема, собственно вопрос - как внести изменения и сохранить книгу в формате fb2?