创建动态xml并将其与php类一起发送
我的问题是如何从这个类发送干净的xml。 它被简化了,因此可能由其他事情引起的故障最少 现在的问题是错误指出xml声明应该出现在文档的顶部 避免这种错误的正确方法是什么? 有什么php函数可以帮我做到这一点吗 我必须提到的是,我正在以其他方式做这件事。 因此,与soap服务器、xml rpc服务器没有任何麻烦 第一部分是index.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
<?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