更新:配列としてキャストするとうまくいきます。私は賛成票を投じるのに十分な影響力を持っていないので、この応答を参照してください:)
私はこの問題を多くの潜在的な原因から始めましたが、多くの診断を行った後でも問題は解決せず、明確な答えはありません。
この API が読み込まれた XML ファイルの最初のタグの下の最初のタグの下の最初のタグにある地名 "Gaborone" を出力したいと考えています。これを解析してそのコンテンツを返すにはどうすればよいですか?
<?php
# load the XML file
$test1 = (string)file_get_contents('http://www.afdb.org/fileadmin/uploads/afdb/Documents/Generic-Documents/IATIBotswanaData.xml');
#throw it into simplexml for parsing
$xmlfile = simplexml_load_string($test1);
#output the parsed text
echo $xmlfile->iati-activity[0]->location[0]->gazetteer-entry;
?>
これを返すのに失敗することはありません:
Parse error: syntax error, unexpected '[', expecting ',' or ';'
タグ名にハイフンが含まれないように構文を変更してみました。
echo $xmlfile["iati-activity"][0]["location"][0]["gazetteer-entry"];
. . . しかし、それは完全な無を返します。エラーなし、ソースなし。
これら 以外の場合は役立つ スレッドに基づいてデバッグも試みましたが、解決策はどれも機能しませんでした。simplexml のアドレス指定に明らかなエラーがありますか?