任何人都可以通过告诉我如何通过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>
答案 0 :(得分:1)
确保XML语句顶部有XML声明。
echo "<?xml version='1.0' ?>";