想要从分类内容创建XML Feed

时间:2013-07-02 17:52:08

标签: html xml html5 rss

我有一个分类广告,访问者可以通过填写简单的字段来列出他们的车辆,然后将这些信息(年份,品牌,型号,引擎,席位,VIN)放在数据库中以显示在我的网站上。

现在我想通过XML提要与合作网站共享此信息,但我提出的所有内容都与将XML文件读入网站有关。我想成为创建这个XML文件供其他人阅读的人。

我在W3Schools教程中已经阅读了所有这些内容,但那些没有让我做我想做的事情。

建议非常感谢。

由于

1 个答案:

答案 0 :(得分:0)

在php中执行此操作的首选方法是将数据从SQL读取到数组中,然后使用XML编写器对象将数组序列化为XML流。另一种(简单但很脏)的方法是从数据库中读取数据,然后使用printf将XML作为字符串数据输出。我经常使用脏的方式,因为它很容易并且使用较少的服务器资源。以下是一些可以帮助您入门的内容:

// Set the HTTP header content type to XML
header( "Content-Type: text/xml", true );
// Output the XML tag
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
// Output a root XML element
echo "<car_list>\n"; 

以通常的方式从mysql中获取数据,然后遍历它,为每个输出一个car元素:

while( $row = mysql_fetch_array($Result) ) {
  echo sprintf( "  <car make=\"%s\" model=\"%s\" />\n", $row['make'], $row['model'] );
}

最后输出根元素的结束标记:

echo "</car_list>\n";

这应输出如下内容:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<car_list>
  <car make="BMW' model="328i" />
  <car make="GMC" model="Jimmy" />
</car_list>

这里的数据都以XML属性的形式携带,这些属性似乎适合您的应用程序。当然,您可以通过不打开汽车标签来生成子元素,输出这些元素然后输出元素。