我的問題發送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