我正在使用以下 PHP 代码从 NOAA 的潮汐报告站 API 读取 XML 数据:
$rawxml = file_get_contents(
"http://opendap.co-ops.nos.noaa.gov/axis/webservices/activestations/"
."response.jsp?v=2&format=xml&Submit=Submit"
);
$rawxml = utf8_encode($rawxml);
$ob = simplexml_load_string($rawxml);
var_dump($ob);
不幸的是,我最终显示了这个:
对象(SimpleXMLElement)#246 (0) { }
在我看来,XML 格式完美——为什么不解析?通过查看另一个问题(Simplexml_load_string() fail to parse error),我了解到标头可能是问题所在——http 调用确实返回了“ISO-8859-1”的字符集值。但是加入utf8_encode()
电话似乎并没有奏效。
尤其令人困惑的是,simplexml_load_string()
它实际上并没有失败——它返回了一个令人愉快的 XML 数组,只是其中没有任何内容!