XML输出错误 - PHP

时间:2012-07-28 14:10:45

标签: php xml

我想在php文件(如task.php)中创建一个xml文件(linkler.xml),并在这个php文件中读取/写入一个Android应用程序的文件。

但我收到错误:

enter image description here

http://i.stack.imgur.com/loumJ.png

同样在xml文件中出错:

enter image description here

http://i.stack.imgur.com/nWSwD.png

我怎么能纠正这个?感谢

<?php header('Content-type: text/xml'); 
        if(isset($_POST['url'])) { 
           include('curl.php'); 
           include('youtube.php'); 
           $tube = new youtube(); 
           $links = $tube->get($_POST['url']); 
           if($links) { 
              $dosya_adi = "linkler.xml"; 
              $dosya = fopen ($dosya_adi , 'w') or die ("Dosya yok");
              $xml = "<?xml version=\"1.0\" charset=\"utf-8\"?>\n";
              $xml.='<vidlinks>'; 
              $xml.='<tur>'.$links[0][ext].'</tur>'; 
              $xml.='<link>'.$links[0][url].'</link>'; 
              $xml.='<kalite>'.$links[0][type].'</kalite>'; 
              $xml.='</vidlinks>';
              fputs ( $dosya ,$xml ) ; 
              fclose ($dosya);  
              echo file_get_contents("http://tizentr.net/ara/linkler.xml");
        ?>
        <?php } else {
           echo $tube->error;
        } 
     }
        ?>

2 个答案:

答案 0 :(得分:0)

尝试结束所有代码:

<?php
ob_start(); 
<--code here--> 
$output = ob_get_contents();
ob_end_clean();
echo $output;
header('Content-type: text/xml');
?>

答案 1 :(得分:0)

XML声明中不应该有字符集,而是编码字。所以你应该使用

<?xml version="1.0" encoding="utf-8"?>
在您形成的XML中

您也可以查看XML指南http://xmlwriter.net/xml_guide/xml_declaration.shtml

这应该可以解决您的XML错误;关于第一次错误检查,如果你在curl.php和youtube.php文件中有一些输出,如果是,则删除它。