【发布时间】:2012-03-03 23:20:19
【问题描述】:
谁能帮助我告诉我如何通过 PHP 输出我的 XML 结果?我有一个 sql 数据库并用 PHP 编写函数来解析 XML,我已经在 Firefox 中调试了页面(使用 NET 选项卡),这会产生与我的 SQL 语句相对应的正确响应,但是,我实际上看不到数据,它只是一个空白页。
这是编写 XML 的 php 文件:
<?php
include("classes/database_connection.php");
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}
// Opens a connection to a MySQL server
$connection=mysql_connect ('www.numyspace.co.uk', '*********', '************');
if (!$connection) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('********', $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
// Select all the rows in the ticket table
$query = "SELECT * FROM ticket";
$result = mysql_query($query);
header("Content-type: text/xml");
// Start XML file, echo parent node
echo '<ticket>';
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
echo '<tickets ';
echo 'ticketID="' . parseToXML($row['ticketID']) . '" ';
echo 'locationID="' . parseToXML($row['locationID']) . '" ';
echo 'venue="' . parseToXML($row['venue']) . '" ';
echo 'tPrice="' . parseToXML($row['tPrice']) . '" ';
echo 'date="' . parseToXML($row['date']) . '" ';
echo 'availability="' . parseToXML($row['availability']) . '" ';
echo 'time="' . parseToXML($row['time']) . '" ';
echo 'lat="' . $row['lat'] . '" ';
echo 'lng="' . $row['lng'] . '" ';
echo '/>';
}
// End XML file
echo '</ticket>';
?>
谢谢您,非常感谢您的帮助。
编辑:页面的标记:
<ticket><tickets ticketID="1" locationID="1" venue="The Cluny" tPrice="15" date="2012-04-17" availability="200" time="20:00:00" lat="54.978252" lng="-1.617780" /><tickets ticketID="2" locationID="1"..../></ticket>
【问题讨论】:
-
你查看源代码了吗?有标记吗?
-
您能否提供一个生成标记的示例?在标题调用之前页面是否有任何输出?
-
检查我的编辑 :) 不,在“输出”之前什么都没有回显..
-
您最后一个
<tickets>节点末尾的....是故意的吗?另外,这很重要,标记开头的 SPACE 是代码的结果还是您刚刚将其粘贴到上面? -
这些点是故意的,因为源显示了“ticket”表中的所有字段,我不想全部 C+P。而且空格只是我粘贴代码的时候,那是无意的,输出的开头没有空格。