我的问题发送XML(声明XML)实际上是概率!EM与PHP
我会用什么样的悬挂结构发送XML作为部分掀起了REST服务,如果我有一类最关的逻辑。我打电话给/包括我的php索引页顶部的类,如果它变得清晰的服务被请求。
有人向我提到一个类方法不应该输出任何东西。 然后,我应该在哪里输出xml。课外?
此外,我有一个问题,接收端说声明应该从开始文档开始。
接收端文件中只有这两行。 我没有代码来处理它,但是这已经给出了一个错误。
<?php
$url='http://www.woonbel.nl/gps/setgpsloc';
$xml =simplexml_load_string(file_get_contents($url));
?>
我从这个类发送XML,你可以看到,所以也许这里的东西走的错误, 一些与白线或别的东西。 无论如何,我需要一些建议如何避免声明错误以及如果我不应该在方法中执行xml如何发送xml?首先将它存储在类变量中,然后呢?
<?php
class gps {
public $url;
public $test;
function __construct($url) {
$this->url = $url;
}
function invoke($methode_naam) {
switch($methode_naam){
case "test":
$this->setgpsloc();
break;
case "setgpsloc":
header('Content-type: text/xml');
$status_code = 2;
$output= "<?xml version=\"1.0\"encoding=\"utf-8\"?>\n";
$output.= "<response>\n";
$output.= "\t<status>$status_code</status>\n";
$output.= "\t<fout>Geen</fout>\n";
$output.= "</response>";
echo trim($output);
}
}//EINDE invoke
}
?>
这是我如何检测是否被请求的服务,并调用类
<?php
//WEBSERVICE SECTIE
$url = $_GET['url'];
$parts = split('/', $url); // Opslaan van delen van de aangevraagde url in $parts
$cparts=count($parts);
//if($cparts>=2){
$controller = $parts[0];
$wslijst=array("gps","gebruikers");
if(in_array($controller,$wslijst)){
include $controller .".php";
$clr = new $controller("test");
$clr->invoke($parts[1]);
exit();
}
//other code underneath for displaying normal page
?>
这是实际的错误接收端获取的
PHP的警告:simplexml_load_string()函数。 simplexml-load-string]:Entity:line 4:parser error:XML声明只允许在第4行D:\ Domains \ tsa.nl \ wwwroot \ index.php中的文档开始处PHP警告:simplexml_load_string()[ function.simplexml-load-string]:在第4行D:\ Domains \ tsa.nl \ wwwroot \ index.php PHP Wa rning:simplexml_load_string()[function.simplexml-load-string]:^在D行:\ Domains \ tsa.nl \ wwwroot \ index.php on line 4
我同意你,修剪它是一个创可贴的解决方案,找出这个空间来自哪里是最好的解决方案。这只是一个“快速修复”呵呵 – Nathan 2009-07-24 03:08:16
我编辑了我的问题,修剪也没有工作。所以班上的其他人看起来好吗?我会把课程代码加入课程代码 – Richard 2009-07-24 03:09:06
@Nathan,快速修复没什么问题;) – 2009-07-25 04:16:51