使用PHP5有一种查询类似于查询数据库的XML文件的方法吗?如果我有一个包含50个酒店条目的XML文件,我如何查询XML文件以获取特定条目?我还可以按字段重新组织XML条目,例如日期字段吗?所以,如果我想按降序日期顺序显示条目,我可以这样做吗?
答案 0 :(得分:2)
然而,排序是不直观的
使用simplexml的例子:
$str = '<hotels>
<hotel>
<id>1</id>
<name>Hilton</name>
<date>2011-01-01</date>
</hotel>
<hotel>
<id>2</id>
<name>Accor</name>
<date>2011-01-02</date>
</hotel>
<hotel>
<id>3</id>
<name>Sands</name>
<date>2011-01-03</date>
</hotel>
... etc
</hotels>';
$xml = simplexml_load_string($str);
/* find a specic hotel with name=Sands */
$found = $xml->xpath('/hotels/hotel/name[.="Sands"]');
/* order by date */
$sort = array();
foreach ($xml->hotel as $obj)
{
$sort[(string)$obj->date] = $obj;
}
arsort($sort);
答案 1 :(得分:1)