我寫的程序,從$ _POST變量一些XML讀取信息,然後解析XML解析使用PHP的XMLReader和提取輸入到數據庫中的數據。我使用的是XMLReader,因爲提供的XML很可能太大而無法放入內存。與PHP的XMLReader
但是我有一些問題,我的XML和基本的代碼是如下:
'<?xml version="1.0"?> <data_root> <data> <info>value</info> </data> <action>value</action> </data_root>'
$request = $_REQUEST['xml'];
$reader = new XMLReader();
$reader->XML($request);
while($reader->read()){
//processing code
}
$reader->close()
我的問題是,如果正在傳遞的XML不具備的代碼將很好地工作<?xml version="1.0"?>
行,但是如果我包含它,並且它將在應用程序進入實際生產環境時包含,則while循環的$reader->read()
代碼不起作用,並且XML在while循環內未被解析。
有沒有人見過類似的行爲,或知道爲什麼會發生這種情況?
在此先感謝。
如果它是您的開發服務器設置錯誤\ _reporting = E \ _ALL(或更高),也是如此。您將從xmlreader獲取有關格式錯誤的文檔的警告消息,然後;-) – VolkerK 2010-03-17 18:03:12