【发布时间】:2011-06-16 14:31:11
【问题描述】:
我真的没有得到数组,我读过很多例子,大部分是抄袭和修改的,我还没有找到我理解的帮助我希望有人能指导我完成这个,所以我完全理解。
我有一个 XML 文件,我需要读取并显示使用 PHP 进行排序的选项,然后将所需字段输出到我的页面中。我已经设法检索 XML 文件并在本地重新安置并检查文件的年龄(里程碑)并使用代码(如下)设法读取 XML 文件并输出为数组,但我无法再进一步,两次之后几天我向社区寻求帮助:
<?php
function std_class_object_to_array($stdclassobject) {
$_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : $stdclassobject;
foreach ($_array as $key => $value) {
$value = (is_array($value) || is_object($value)) ? std_class_object_to_array($value) : $value;
$array[$key] = $value;
}
return $array;
}
$request = $domain.$filename;
$API_results = file_get_contents($request);
$xml = new SimpleXMLElement($API_results);
$Details = std_class_object_to_array($xml);
echo "<pre>";
print_r($Details[hotel]);
echo "</pre>"; ?>
输出看起来像这样(缩短)
Array
(
[0] => Array
(
[hotel_ref] => 157258
[hotel_name] => Hotel Kong Arthur
继续
[1] => Array
(
[hotel_ref] => 98813
[hotel_name] => Hotel Lautruppark
首先,我用来读取 XML 的代码好吗?有没有更好的方法可以使用?如何对结果进行排序?如何输出各个字段?
非常感谢您的帮助、示例和指导,
学习
//----------- 更新 --------- -- \
好的,这就是我现在建议使用 SimpleXML 的地方,但它仍然不正确,而且我还不是很进一步:
$request = $domain.$filename;
$xmlobj = simplexml_load_file($request);
$xml = simplexml_load_file($request) or die("NO XML");
foreach($xml as $hotels)
echo $hotels->hotel_name." (".$hotels->hotel_ref.")<br/>";
【问题讨论】:
-
为什么不直接使用 SimpleXmlElement?为什么它必须是一个数组?
-
尝试了很多东西,现在我不记得了。现在阅读
-
您能否发布一些 xml 数据,以及您希望它如何排序?
-
hotel_name 排序将是一个好的开始,我在前面的建议。
-
你能看看我的更新吗,我需要给它添加排序.. 更好吗?