0

嗨,我有一段代码,它使用以下代码从 xml 文件中获取信息:

if (file_exists('locations.xml')) {
    $xml = simplexml_load_file('locations.xml');
    $json = json_encode($xml);
    print_r($json);
} else {
    exit('Failed to open locations.xml.');
}

下面是xml页面的布局

   <locations>
     <location>
       <id>12196</title>
       <uid>010203</uid>
       <lat>34.134103</lat>
       <lng>-118.321694</lng>
      </location>
    <location>

这很好用,现在我要做的是替换上面的代码以直接从数据库中获取信息。并具有以下代码:

  $query = mysql_query("SELECT * FROM track ORDER BY id");
  $rows = array();
  while($row = mysql_fetch_assoc($query)) {
   $rows[] = $row;
  }
  print json_encode($rows);

从数据库中检索信息时,它运行良好。但是我注意到,当我检索数据时,例如格式略有不同。

使用第一种方法将位置放置在结果的前面,就像这样。

  {"location":[{"id":"12196"

第二种方法只是返回这个,

  [{"id":"12196","uid":"010203"

我已经尝试了几种方法来让第二种格式包含位置,但似乎无法让它工作。我认为我的其余代码使用位置标签来分配信息。

任何建议,将不胜感激。

谢谢

4

1 回答 1

3

尝试

while($row = mysql_fetch_assoc($query)) {
   $rows['location'][] = $row;
  }
  print json_encode($rows);
于 2012-12-01T15:39:03.513 回答