2011-08-11 44 views
2

我試圖解析使用SimpleXML和PHP一些XML ...它返回給我從服務,像這樣:問題解析XML使用SimpleXML

<DMResponse><Code>2</Code><Description>Your request was successfully received You will  receive notification once the process has been completed.</Description><ResultData><Explanation>  The job name is 578bbn004 </Explanation></ResultData></DMResponse> 

我在此粘貼從.NET面板螢火蟲。

這就是我正在嘗試使用PHP解析:

$result = curl_exec($ch); 
print 'xml ' . $result . ' xml'; 
$xml = new SimpleXMLElement($result); 
$code = $xml->code; 
echo $code; 

$結果deinfitely填充...我拿回來在上面打印語句....它包含的XML結構我發佈了。

我得到的錯誤是'字符串不能被解析爲XML'。我不明白爲什麼它這樣做。有任何想法嗎?

回答

3

嘗試$xml = simplexml_load_string($result); ...我從來沒有這樣做過。但這並不是說它不起作用。

編輯:如果simplexml_load_string()不起作用,您的字符串可能包含一些(不可打印)無效字符或類似的東西。

+3

你可以在這裏檢查你的XML:[w3schools](http://www.w3schools.com/xml/xml_validator.asp) – Elorfin

1

要打印您的SimpleXML對象,您必須使用$xml->asXML()(打印到文件$xml->asXML(file_name))。

如果您仍然有錯誤: 當您在$xml = new SimpleXMLElement($result); 之後添加此代碼時,打印什麼?

echo "<pre>"; 
var_dump($xml); 
echo "</pre>"; 
die();