2011-08-11 62 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();