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();

問題は、解析された各ノード間に空の行が 1 つあることです!! なぜこれが起こるのか分かりません!

 | 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 に答える