PHP XMLREADER - ВОПРОС - PullRequest
       8

PHP XMLREADER - ВОПРОС

1 голос
/ 12 мая 2010

Я довольно новичок в разборе XML и использую XMLREADER для разбора огромного файла.

Учитывая следующий XML (пример):

<hotels>
 <hotel>
   <name>Bla1</name>
 </hotel>
 <hotel>
  <name>Bla2</name>
 </hotel>
</hotels>

И затем XMLREADER в PHP, который выводит значения в мою базу данных:

$reader = new XMLReader();
$reader->open('hotels.xml');
while ($reader->read()) {

 if ($reader->name == "name") {

   $reader->read();
   mysql_query("INSERT INTO MyHotels (hotelName) VALUES (\"$reader->value\")");
 }

}
$reader->close();

Проблема в том, что у меня есть одна пустая строка между каждым из проанализированных узлов !! Не уверен, почему это происходит!

 | ID | hotelName |
 | 1  | Bla1      |
 | 2  |           |
 | 3  | Bla2      |
 | 4  |           |

Помощь очень ценится.

1 Ответ

0 голосов
/ 12 мая 2010

Убедитесь, что $reader->value не пусто, если вы хотите избежать этого:

 if ($reader->name == "name") {
   $reader->read();

   if ($reader->value) {
     mysql_query("INSERT INTO MyHotels (hotelName) VALUES (\"$reader->value\")");
   }
 }
...