zIP
Новичок
Вопрос по XMLReader.
Структура документа:
Использую:
Результат выдает:
Структура документа:
PHP:
<?xml version="1.0" encoding="windows-1251"?>
<description>
<title-info>
<genre>mystery</genre>
<author>
<first-name>Борис</first-name>
<last-name>Акунин</last-name>
</author>
<book-title>Азазель</book-title>
<annotation>
<p>Памяти XIX столетия, когда литература была великой.</p>
<empty-line/>
</annotation>
</title-info>
</description>
<body>....
и пошел текст
<p>.......</p>
<p>.......</p>
<p>.......</p>
<p>.......</p>
PHP:
$xml = new XMLReader();
if ($xml->open("lib/test.fb2")) {
while ($xml->read()) {
switch ($xml->name) {
case "genre":
$xml->read();
$genre = $conf["genre"] = $xml->value;
echo "<b>GENRE - </b>";
echo iconv('UTF-8','windows-1251',$genre);
echo "<br>";
$xml->read();
break;
case "first-name":
$xml->read();
$first_name = $conf["first-name"] = $xml->value;
echo "<b>first-name - </b>";
echo iconv('UTF-8','windows-1251',$first_name);
echo "<br>";
$xml->read();
break;
case "book-title":
$xml->read();
$book_title = $conf["book-title"] = $xml->value;
echo "<b>BOOK-TITLE - </b>";
echo iconv('UTF-8','windows-1251',$book_title);
echo "<br>";
$xml->read();
break;
case "annotation":
$xml->read();
$annotation = $conf["annotation"] = $xml->value;
echo "<b>ANNOTATION - </b>";
echo iconv('UTF-8','windows-1251',$annotation);
echo "<br>";
$xml->read();
break;
case "p":
$xml->read();
$p = $conf["p"] = $xml->value;
echo "<b>P - </b>";
echo iconv('UTF-8','windows-1251',$p);
echo "<br>";
$xml->read();
break;
case "book-name":
$xml->read();
$book_name = $conf["book-name"] = $xml->value;
echo "<b>BOOK-NAME - </b>";
echo iconv('UTF-8','windows-1251',$book_name);
echo "<br>";
$xml->read();
break;
}
}
$xml->close();
}
else {
echo "Ошибка открытия файла";
}}
Не могу понять, почему я не могу поймать первое вхождение <p> в <annotation>.GENRE - thriller_mystery
GENRE - thriller
GENRE - mystery
first-name - Борис
BOOK-TITLE - Азазель
ANNOTATION -
P -
ANNOTATION -
BOOK-NAME - Борис Акунин. Азазель
P - Борис Акунин
P - АЗАЗЕЛЬ
P - (Приключения Эраста Фандорина – 1)
P - Глава первая,
P - в которой описывается некая циничная выходка