2011-09-09 26 views
0

我此刻如何在使用PHP中的simplexml_load_file解析之前验证XML源?

<?php 

    $xml = simplexml_load_file('www.tompeters.com/atom.xml');     
    print_r($xml); 

?> 

这样做,但它返回该错误

警告:使用simplexml_load_file()[function.simplexml加载文件]:I/O警告:未能加载外部实体“www.tompeters.com/atom.xml”

我认为这是因为Feed不是有效的XML? 那么我如何验证它,以便我可以解析Feed?

由于

回答

2

解析饲料验证它。

无论如何,错误信息看起来更像是您无权访问该文件。我不知道PHP,但我会期望至少

simplexml_load_file('http://www.tompeters.com/atom.xml'); 
+0

嗨!刚测试过这个解决方案,工作。你需要告诉php它必须使用哪个协议来加载文件(这里是:http://)。如果您仍想验证DTD中的XML文档,则可以使用[domdocument :: validate()](http://www.php.net/manual/fr/domdocument.validate.php)。如果您需要根据XSD文件验证文件,则还可以使用[DomDocument :: schemaValidate](http://www.php.net/manual/fr/domdocument.schemavalidate.php)。 –

+0

感谢您的帮助:) –