2011-03-15 132 views
1

即时通讯尝试创建一个XML文件使用php.everytime我运行代码页面显示代码从某个点作为屏幕上的文本代码我hav是如下:使用PHP从MySQL数据库创建一个XML文件

<?php 
    if(!$dbconnet = mysql_connect('I took out the details')){ 
     echo "connection failed to the host."; 
     exit; 
    } 
    if (!mysql_select_db('siamsati_db')){ 
     echo "Cannot connect to the database."; 
     exit; 
    } 
    $table_id = 'events'; 
    $query = "SELECT * FROM $table_id"; 
    $dbresult = mysql_query($query, $dbconnect); 

    $doc = new DomDocument('1.0'); 

    $root = $doc->createElement('root'); 
    $root = $doc->appendChild($root); 

    while($row = mysql_fetch_assoc($dbresult)){ 
     $ooc = $doc->createElement($table_id); 
     $occ = $root->appendChild($occ); 

     foreach ($row as $fieldname => $fieldvalue){ 

      $child = $doc->createElement($fieldname); 
      $child = $occ->appendchild($child); 

      $value = $doc->createTextNode($fieldvalue); 
      $value = $child->appendChild($value); 
     } 
    } 

    $xml_string = $doc->saveXML(); 
    echo $xml_string; 

?> 

和页显示示出了当:

的createElement( '根'); $ root = $ doc-> appendChild($ root); while($ row = mysql_fetch_assoc($ dbresult)){$ ooc = $ doc-> createElement($ table_id); $ occ = $ root-> appendChild($ occ); foreach( $ row as $ fieldname => $ fieldvalue){ $ child = $ doc-> createElement($ fieldname); $ child = $ occ-> appendchild($ child); $ value-> $ doc-> createTextNode($ fieldvalue); $ value = $ child-> appendChild($ value); }} $ xml_string = $ doc-> saveXML(); echo $ xml_string; ?>

是否有一些错过.ive检查所有的报价认为这是起初,但他们似乎都是正确的。关于什么我做错了什么建议非常感谢?

+0

如果执行包含此页面,会发生什么: < ?php回声“hello world”; ?>? – CoolStraw 2011-03-15 14:39:23

+0

在读取'$ root = $ doc-> createElement('root');'?'行的'>'之前是否有'?'?这将使PHP解释器切换到HTML模式并转储所有后面的内容,以提供您发布的输出。至少我无法想象你用' - >'编译PHP作为结束标记。那会很糟糕。 – rik 2011-03-15 14:39:58

+0

rik您的评论可能是问题,我想不出任何其他可能性。 – CoolStraw 2011-03-15 14:47:13

回答

0

设置内容类型为XML,这样浏览器将其识别为XML。

header("content-type: application/xml; charset=ISO-8859-15"); 

在你的代码,将其更改为:

// Set the content type to be XML, so that the browser will recognise it as XML. 
header("content-type: application/xml; charset=ISO-8859-15"); 

// "Create" the document. 
$doc = new DOMDocument("1.0", "ISO-8859-15"); 

+++我认为你可以做这样的事情

+0

你可以print_r($ row)并用它更新你的问题 – kn3l 2011-03-15 15:41:43

0

在你已经张贴在这里的初始<?php标记缺少代码...

相关问题