2012-03-28 17 views
2

PHPからのXMLファイルの書き出しに問題があります。それは私がXMLタグのHTMLタグ

<!--?xml version="1.0"?--> 
<html> 
    <head> 
    </head> 
    <body> 
     <entries> 
     <entry> 
      <img>1030.jpg 
      <comment>Jean</comment> 
     </entry> 
     </entries> 
    </body> 
</html> 

そして、ここではそれを作成するPHPの部分であるHTMLタグで終わる作るように見える終了タグを適用していません。

<?php 
    include_once "config.php"; 
    mysql_connect($dbhost, $dbuser, $dbpasswd); 
    mysql_select_db($dbname) or die ("Cannot select db" . mysql_error()); 
    session_start();  
$query = "SELECT * FROM test_table WHERE state = 1 LIMIT 10";  
$result = mysql_query($query) or die(mysql_error()); 

$xml = new SimpleXMLElement('<entries/>'); 

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    $values = implode(",", $row); 
    list($ep_id, $image, $origimg, $actid , $date, $approve, $apptime, $fbid, $custid, $title, $comment, $admincom, $link, $lang, $video, $rate, $finalist, $brand, $day, $source) = explode(",", $values); 
    $entry = $xml->addChild('Entry'); 
     $entry->addChild('link', $lang); 
     $entry->addChild('comment', $comment); 
} 

    print($xml->asXML()); 


?> 

私が望むのは、私が参照できるXMLファイルを生成するためです。私はHTMLタグがどこから来たのかわからないが、彼らは私にエラーコードを与えている。

+0

スクリプトの生の出力を確認します。あなたの場合、HTMLタグはPHPの警告/通知になります。 – zysoft

+0

あなたのコード例ではリンク子を追加していますが、出力例はimgです。あなたは間違ったコードを切り詰めましたか? –

+0

また、あなたのリスト/爆発物を各()に簡略化して、中間の文字列解析ステップを実行する必要性をなくすことができます(いずれのフィールドでもaを許可します) list($ ep_id、$ image、$ origimg、$ $ link、$ lang、$ video、$ rate、$ finalist、$ brand、$ day、$ source)を使用しています。 =各($値); –

答えて

0
<?php 
    header("Content-type: text/xml"); 
    include_once "config.php"; 
    mysql_connect($dbhost, $dbuser, $dbpasswd); 
    mysql_select_db($dbname) or die ("Cannot select db" . mysql_error()); 
    session_start();  
$query = "SELECT * FROM `test_table` WHERE source = 'youtube'";  
$result = mysql_query($query) or die(mysql_error()); 

$xml = new XMLWriter(); 

$xml->openURI("php://output"); 
$xml->startDocument(); 
$xml->setIndent(true); 

$xml->startElement('Entries'); 

while ($row = mysql_fetch_assoc($result)) { 
    $xml->startElement('entry'); 

     $xml->writeElement('id', $row["ep_id"]); 
     $xml->writeElement('title', $row["ep_title"]); 
     $xml->writeElement('thumb', '<img src="http://img.youtube.com/vi/'.$row["ep_youtubeid"].'/2.jpg" width="60px" /><span style="margin: -20px 0 0 5px;">'.$row["ep_title"].'</span>'); 
     $xml->writeElement('content', '<iframe class="youtube-player" type="text/html" width="310" height="170" src="http://www.youtube.com/embed/'.$row["ep_youtubeid"].'" frameborder="0"></iframe><div style="text-align:left;color:#fff;"><strong>Title: </strong>' . $row["ep_title"].'</div><div style="text-align:left;color:#fff;"><strong>Comments: </strong>' . $row["ep_comments"].'</div><div class="fb-login-button">Login with Facebook</div>'); 

    $xml->endElement(); 
}; 

$xml->endElement(); 

$xml->flush(); 


?>