PHP XMLReader - SORU

1 Cevap php

Xml ayrıştırma için oldukça yeni ve büyük bir dosyayı ayrıştırmak için XmlReader kullanıyorum.

Aşağıdaki XML (örnek) Verilen:

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

Ve sonra benim Veritabanı değerleri çeker 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();

Sorun çözümlü düğümlerin her biri arasında tek bir boş satır var ki! Bu durumda neden emin değilim!

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

Yardım büyük takdir.

1 Cevap

Bunu önlemek istiyorsanız $reader->value boş olmadığından emin olun:

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

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