php
  • xml
  • 2010-06-08 37 views 2 likes 
    2

    讓我有此消息錯誤,我不知道在哪裏做的問題來自:XML/PHP:內容是不是在序言

    <?php include "DBconnection.class.php"; 
    
    $sql = DBConnection::getInstance(); 
    
    $requete = "my resquest (which is working)"; 
    
    $sql->query($requete); 
    
    $xml = '<?xml version="1.0" encoding="UTF-8"?>'; 
    $xml .='<GamerCertified>'; 
    
    
          while($row = $sql->fetchArray()){ 
    
          $moyenne_services = ($row['services'] + $row['serviceCli'] + $row['interface'])/3; 
          $moyenne_services = round($moyenne_services,1); 
    
          $moyenne_ge = ($row['services'] + $row['serviceCli'] + $row['interface'] + $row['qualite'] + $row['rapport']) /5; 
          $moyenne_ge = round($moyenne_ge,1); 
    
          $xml .= '<GSP>'; 
    
          $xml .= '<nom>'.$row["nom"].'</nom>'; 
    
          $xml .= '<votes>'.$row["nb_votes"].'</votes>'; 
    
          $xml .= '<services>'.$moyenne_services.'</services>'; 
    
          $xml .= '<qualite>'.$row["qualite"].'</qualite>'; 
    
          $xml .= '<prix>'.$row["rapport"].'</prix>'; 
    
          $xml .= '<transparence>'.$row["transparence"].'</transparence>'; 
    
           $xml .= '<moyenneGenerale>'.$moyenne_ge.'</moyenneGenerale>'; 
    
          $xml .= '<serveursDedies>'.$row["offreDedie"].'</serveursDedies>'; 
    
          $xml .= '</GSP>'; 
         } 
    
    
    $xml .= '</GamerCertified>'; 
    echo $xml; 
    

    感謝

    (PS:FF /鉻回聲那沒有標籤:bc2x56.99.89.8081ckras1710.09.0080crazy-fun-game11010.010.00100crystal-serv349.79.69.509.60dedicore69.49.38.609.21)

    回答

    1

    我認爲問題在別的地方。請嘗試使用下面的代碼:

    $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; 
    

    代替:

    $xml = '<?xml version="1.0" encoding="UTF-8"?>'; 
    

    這是因爲你存儲在PHP變量整個XML文本,有時會出差錯。

    另請注意,不要在XML開始標記(<?xml ...)之前打印任何空格字符。只需在XML定義結束標記(... encoding="UTF-8"?>)後面使用一個回車符(如鍵盤上的「輸入」鍵),以便啓動XML的第一個開始標記(<GameCertified>)。

    希望它有幫助。

    2

    XML序言應該在它自己的行上。您的標籤< GamerCertified>不被識別爲標籤。

    只需在新行上添加開始標記,錯誤就會消失。

    編輯:請嘗試這個,

    $xml = '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; 
    $xml .='<GamerCertified>'; 
    
    +0

    我這樣做,但現在:內容是不是在序言.. =允許'( – 2010-06-08 20:29:06

    +0

    見我的編輯... – 2010-06-08 22:23:48

    +0

    只是tryed它,同樣的錯誤:內容是不是在序言中不允許 該文件在UTF編碼-8沒有BOM(notepad ++)='( – 2010-06-08 22:26:59

    0

    嗯,首先,開幕<?php標記之前刪除空格。其次,這是腳本中唯一的文件嗎? </GamerCertified>標籤後是否有非空白字符?如果是這樣,那很可能是問題所在。

    +0

    開放和<?php之間的空格僅存在於該帖子中 加上沒有空格在標記之後。 – 2010-06-08 20:31:35

    0

    我有同樣的問題。

    finaly發現它包含文件(在你的情況下,「DBconnection.class.php」文件)

    包含文件被保存在UTF-8。文件編輯器可以選擇保存爲「utf-8」或「沒有BOM」的「utf-8」,並將其更改爲包含我的包含文件的第二個選項......並在xml標籤前移除內容。

    相關問題