通过PHP和SQL输出XML

时间:2012-03-03 23:20:19

标签: php mysql sql xml

任何人都可以通过告诉我如何通过PHP输出我的XML结果来帮助我?我有一个sql数据库并用PHP编写函数来解析XML,我在Firefox中调试了这个页面(使用.NET选项卡),它提出了一个对应于我的SQL语句的正确响应但是,我实际上看不到数据,它只是一个空白页。

这是用于编写XML的php文件:

<?php
  include("classes/database_connection.php");

    function parseToXML($htmlStr) 
       { 
        $xmlStr=str_replace('<','&lt;',$htmlStr); 
        $xmlStr=str_replace('>','&gt;',$xmlStr); 
        $xmlStr=str_replace('"','&quot;',$xmlStr); 
        $xmlStr=str_replace("'",'&#39;',$xmlStr); 
        $xmlStr=str_replace("&",'&amp;',$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>

1 个答案:

答案 0 :(得分:1)

确保XML语句顶部有XML声明。

echo "<?xml version='1.0' ?>";