0

帮助我创建这样的 XML 格式:

http://telkomvision.com/soap/timetable/monday.xml

我这样写的代码:

<?php
date_default_timezone_set("Asia/Jakarta");
$NowDate                = date("Y-m-d G:i:s");
$FormatWM               = date('Y-m-d',strtotime($NowDate));
$FormatLagi             = date('Y-m-d',strtotime($NowDate));

mysql_connect("localhost", "root", "");
mysql_select_db("telkncom_epg");

$namaTabel = "epg";

header('Content-Type: text/xml');

$query = "SELECT * FROM $namaTabel where tgl_mulai='26-SEP-12' limit 0,30";
$hasil = mysql_query($query);
$jumField = mysql_num_fields($hasil);

echo "<?xml version='1.0' ?>";
echo "<data>";
while ($data = mysql_fetch_array($hasil))
{
   echo "<".$namaTabel.">";
   for ($i=0; $i<=$jumField-1; $i++)
   {
      $namaField = mysql_field_name($hasil, $i);
      echo "<".$namaField.">".$data[$namaField]."</".$namaField.">";
   }
   echo "</".$namaTabel.">";
}
echo "</data>";
?>

我的代码结果是:

http://telkomvision.com/soap/timetable/CreateXML.php

我的数据库设计:

| 编号 | 频道代码 | 频道名 | 日期 | s_time | e_time | 话题 | 罪孽 |

我应该在我的代码中进行哪些更改以获得我想要的结果?

4

1 回答 1

1

Bertho,您应该考虑将 XQuery 作为重组 XML 文档的一个选项。还有一些软件供应商提供 SQL 应用程序,有些是免费的,有些是付费的,它们具有 XML 处理程序。除非您试图避免使用查询语言,否则我认为您应该使用查询语言而不是 PHP。很长一段时间以来,我一直在努力用 PHP 编辑 XML,并且我发现通过 PHP 创建与查询语言代码一样好的代码并不值得。我认为,如果您使用 PHP,您将要排查错误并添加例程来处理错误和异常,并努力优化数月;另一方面,您可以使用一两天的查询语言并完成它。XQuery 非常容易学习,它是 Web 标准,并且支持 XPath 2.0。你' 肯定会比使用 XPath 或 SimpleXML 更快乐。您也可以考虑 XSLT。有些人更喜欢它,因为它需要较少的管理,但我更喜欢 XQuery 的简单性。

如果您愿意使用 XQuery,我想我可以发布必要的代码。

于 2012-09-26T09:02:31.760 回答