【问题标题】:PHP XMLREADER - QUESTIONPHP XMLREADER - 问题
【发布时间】:2010-05-12 17:15:24
【问题描述】:

我对 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  |           |

非常感谢您的帮助。

【问题讨论】:

    标签: php xmlreader


    【解决方案1】:

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

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

    【讨论】:

    • 我怀疑他看到了END_ELEMENT 节点……
    猜你喜欢
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多