创建动态xml并将其与php类一起发送

创建动态xml并将其与php类一起发送,php,xml,web-services,rest,Php,Xml,Web Services,Rest,我的问题是如何从这个类发送干净的xml。 它被简化了,因此可能由其他事情引起的故障最少 现在的问题是错误指出xml声明应该出现在文档的顶部 避免这种错误的正确方法是什么? 有什么php函数可以帮我做到这一点吗 我必须提到的是,我正在以其他方式做这件事。 因此,与soap服务器、xml rpc服务器没有任何麻烦 第一部分是index.php中类的实例化。 <?php include 'controller/' . 'gpsController.php'; $gps=new gpsCo

我的问题是如何从这个类发送干净的xml。 它被简化了,因此可能由其他事情引起的故障最少

现在的问题是错误指出xml声明应该出现在文档的顶部

避免这种错误的正确方法是什么? 有什么php函数可以帮我做到这一点吗

我必须提到的是,我正在以其他方式做这件事。 因此,与soap服务器、xml rpc服务器没有任何麻烦

第一部分是index.php中类的实例化。

    <?php
include 'controller/' . 'gpsController.php';
$gps=new gpsController('eenwaarde');
$gps->setgpsloc();
exit();
?> 


<?php 
class gpsController  {   
 // extends controller
  public $url;   



  function __construct($url) {   
    $this->url = $url; 
    }  


public function setgpsloc() { 
$gebruikersnaam="kabouter";
$status_code = 2;
header('Content-type: text/xml');
        $output= "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
        $output.= "<response>\n";
        $output.= "\t<status>$status_code</status>\n";
        $output.= "\t<fout>$gebruikersnaam</fout>\n";
        $output.= "</response>";
        echo trim($output);
}


public function index() {
}

}   

?> 
该类位于包含的文件中。

    <?php
include 'controller/' . 'gpsController.php';
$gps=new gpsController('eenwaarde');
$gps->setgpsloc();
exit();
?> 


<?php 
class gpsController  {   
 // extends controller
  public $url;   



  function __construct($url) {   
    $this->url = $url; 
    }  


public function setgpsloc() { 
$gebruikersnaam="kabouter";
$status_code = 2;
header('Content-type: text/xml');
        $output= "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
        $output.= "<response>\n";
        $output.= "\t<status>$status_code</status>\n";
        $output.= "\t<fout>$gebruikersnaam</fout>\n";
        $output.= "</response>";
        echo trim($output);
}


public function index() {
}

}   

?> 


谢谢,Richard头声明不必在文档顶部,但它们必须在生成任何输出之前出现。 如果找不到任何清晰的输出,则可能是在输出前有空格或换行符
但是请告诉我们您是否能够在头声明之前找到任何“输出”。

给定的代码看起来很奇怪。我想是“
”这个词

除此之外,还可以使用XML库,但这只能确保XML代码格式良好。最重要的是要有清晰的XML创建代码。最好使用模板库(如PHP本身)完成此操作。:-)


在发送标题之前,您似乎回显了大量空白


首先,您的第一行在
之前有空格,在函数运行之前会将空格发送回浏览器。。。一旦您开始发送响应,并且尚未设置头,那么默认头将由php发送。。当您在函数中设置页眉时,您将得到所描述的错误。

您可能会考虑省略关闭。
?>在所有脚本中添加标记。PHP将自动添加它。这样,您就不会有在?>标记后面拖尾空白的问题。

找到了,在?>标记后面拖尾空格。tagI编辑了我的问题。//@vog,您完全正确。//这是在最后一个?>后面的空格//对不起,这是我第二次犯这个输出错误。我应该记得这个理查德25分钟前
    <?php