更新:转换为数组就可以了。看到这个回复,因为我没有足够的影响力来支持:)
我从许多潜在的罪魁祸首开始处理这个问题,但经过大量诊断后,问题仍然存在,并且没有明显的答案。
我想打印地名“Gaborone”,它位于这个 API 加载的 XML 文件的第一个标记下的第一个标记下的第一个标记处。我如何解析它以返回该内容?
<?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 寻址中是否存在明显错误?