2011-09-09 29 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

感謝您的幫助:) –