【发布时间】:2010-07-23 16:05:56
【问题描述】:
我正在使用 simplexml 从 XML 引擎中提取数据,当我尝试对数据进行 ASC 或 DESC 时,我完全卡住了。
请注意,我不是自己编写这些值,而是从其他来源提取它们。
我收到了对类似问题的另一个回复,我以这个为例(有效):
$d = new SimpleXMLElement('<root>
<item>
<price>1234</price>
</item>
<item>
<price>4123</price>
</item>
<item>
<price>3142</price>
</item>
<item>
<price>2431</price>
</item>
</root>');
$items = array();
foreach($d->item as $item) $items[] = $item;
function _mysort($a,$b){return $a->price - $b->price;}
usort($items,'_mysort');
var_dump($items);
问题是我不知道如何将数据自动写入根 /item /price.... 部分。
这是一个酒店搜索引擎,一些酒店先付费,但我希望用户能够按价格 ASC 或 DESC 查看酒店,所以我认为我应该在服务器上列出内存中的酒店(对不起,我缺少编码器俚语),然后按价格订购并打印出来。
我能得到一些帮助吗?
这就是我正在做的:
为你分配一个变量
$url ="http://www.somedomain.com/cgi/xml/engine/get_data.php?ref=$ref&checkin=$checkin&checkout=$checkout&rval=$rval&pval=$pval&country=$country&city=$city&lg=$lg&sort=desc";
创建我的新 SimpleXML
$all = new SimpleXMLElement($url, null, true);
循环显示所有酒店:
foreach($all as $hotel) // loop through our hotels {
并将结果与酒店相呼应,包括价格、描述、名称、地址等。
echo <<<EOF
如果周围有人可以帮助我或向我展示如何将 xml 值写入示例中,我认为我已经完成了!
【问题讨论】:
-
是否 $url ="somedomain.com/.......&sort=desc";返回 XML?您的网址中的 &sort=desc 有什么作用?这不是已经为您排序结果了吗?根据您所写的内容,我认为您会返回一个 XML 文件,其中包含已排序的酒店。
-
“root /item /price.... 部分”这是 XML,为什么要这样写?这不是你在变量 $url 中返回的吗?
-
不。已经试过了=(/嗯,是xml引擎,不是searc引擎=(
-
我只需要一个标签,即“minCostOfStay”,但我不知道该怎么做,已经尝试过 $hotel->minCostOfStay,但似乎没有在这种情况下工作
-
也许我不是在解释我自己好。如何提取该变量并将其放在“手动”书面部分?