1

我对 xml 解析很陌生,我正在使用 XMLREADER 解析一个巨大的文件。

给定以下 XML(示例):

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

然后是 PHP 中的 XMLREADER,它将值提取到我的数据库中:

$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  |           |

非常感谢您的帮助。

4

1 回答 1

0

$reader->value如果您想避免这种情况,请确保它不为空:

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

   if ($reader->value) {
     mysql_query("INSERT INTO MyHotels (hotelName) VALUES (\"$reader->value\")");
   }
 }
于 2010-05-12T17:18:35.597 回答