基于Name的简单XML排序

时间:2010-12-02 18:56:37

标签: php xml sorting simplexml

我试图通过databasename对每个数据库中的数据库和文档列表进行排序。 然后以表格格式打印出来

这是xml

<responsedata>
<databases>
<database>
<name>Test</name>
<documents>0</documents>
</database>
−
<database>
<name>Test2</name>
<documents>0</documents>
</database>
</databases>
</responsedata>

这是我当前的代码,它列出了没有排序的数据库和文档,并将它们打印在列表中。

$request_url = "http://255.255.255.255/xmlfile";

$xml = simplexml_load_file($request_url)

foreach ($xml->responsedata->databases->database as $db) {

          echo"<tr><td>",$db->name,"</td><td>",$db->documents,"</td></tr>\n";
  }

//

1 个答案:

答案 0 :(得分:2)

$dbs = array();

foreach ($xml->responsedata->databases->database as $db) {
  $dbs[(string)$db->name] = $db;
}

ksort($dbs);

foreach ($dbs as $db) {
  echo"<tr><td>",htmlentities($db->name),"</td>",
      "<td>",htmlentities($db->documents),"</td></tr>\n";
}