1

外部の php フィードを解析したい。アドレス: http://www.hittadjur.se/feed.php?count=1

出力:

<?xml version="1.0"?>
<annons>
<rubrik>Wilja</rubrik>
<datum>2013-03-22</datum>
<ras>Chihuahua långhår</ras>
<ort>Göteborg</ort><bildurl>http://www.hittadjur.se/images/uploaded/thumbs/1363984467.jpg</bildurl><addurl>http://www.hittadjur.se/index.php?page=case&type=&county=32&subpage=show&case=1363984558</addurl>
</annons>

動作しない私の PHP コード:

$content = utf8_encode(file_get_contents('http://www.hittadjur.se/feed.php?count=1'));
$xml = simplexml_load_file($content);
echo $xml->annons->rubrik;

を使用する理由utf8_encodeは、そうしないと次のメッセージが表示されるからです。

parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE5 0x6E 0x67 0x68

エラーは次のとおりです。

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity 何か案は?ありがとう!

4

3 に答える 3

0

サーバーに保持されている xml を読み込もうとしている場合は、完全なディレクトリ パスを渡すようにしてください。

simplexml_load_file($_SERVER['DOCUMENT_ROOT'].'/example.xml')

または、http プロトコルで xml にアクセスする場合は、php.ini で allow_url_fopen を ON に設定する必要があります。

ini_set('allow_url_fopen ','ON');

あなたのコードで。または、php バージョン <5 を使用している場合にもこれを行うことができます

$temp = file_get_contents($url);
 $XmlObj = simplexml_load_string($temp); 
于 2013-04-03T09:29:42.733 に答える