我使用这样的代码
$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);
发生同样的错误。
此刻我迷失了,我怎么能解决这个问题呢?
答案 0 :(得分:0)
我不确定这是否对您有所帮助,但DOMDocument :: loadXML()加载直接xml,如DOMDocument :: loadXML('< element> value< / element>'); 我想你想要加载xml文件而不是字符串, 我尝试了DOMDocument :: load('hxxp://....../ yourfile.xml'); 这对我有用。
希望这会有所帮助。 Grets,Nik