DOMDocument不会加载更大的有效xml文件

时间:2012-01-09 11:08:19

标签: php simplexml domdocument

我使用这样的代码

$dom = new DOMDocument;
$dom->loadXML($xml_source); 
$xml = simplexml_import_dom($dom);

我得到了错误:

Warning (2): DOMDocument::loadXML() [domdocument.loadxml]: Premature end of data in tag ZverejnujeText line 34 in Entity, line: 273 [APP/Controller/RecordsController.php, line 43]
Warning (2): DOMDocument::loadXML() [domdocument.loadxml]: Premature end of data in tag StatnaPomocIneProgramyPodpory line 2 in Entity, line: 273 [APP/Controller/RecordsController.php, line 43]
Warning (2): simplexml_import_dom() [function.simplexml-import-dom]: Invalid Nodetype to import [APP/Controller/RecordsController.php, line 47]

尝试加载此xml(~110 kB)

根据w3c验证器,xml有效。

加载this(~25 kB,但结构相同)

没问题

如果我不使用DOM,我直接加载xml

$xml = simplexml_load_string($xml_source);

发生同样的错误。

此刻我迷失了,我怎么能解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

我不确定这是否对您有所帮助,但DOMDocument :: loadXML()加载直接xml,如DOMDocument :: loadXML('< element> value< / element>'); 我想你想要加载xml文件而不是字符串, 我尝试了DOMDocument :: load('hxxp://....../ yourfile.xml'); 这对我有用。

希望这会有所帮助。 Grets,Nik