Cakephp 2.x REST

时间:2012-07-03 13:15:31

标签: cakephp cakephp-2.0

我会用cakephp 2.0开发一个服务,但我不能。

按照官方文档

后我收到此消息

错误消息:

Warning (2): SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 3: parser error : Extra content at the end of the document [CORE\Cake\Utility\Xml.php, line 177]
Warning (2): SimpleXMLElement::__construct() [simplexmlelement.--construct]: <response><Hotel><id>1041114</id><hotelFileName>Argana_Hotel</hotelFileName><hot [CORE\Cake\Utility\Xml.php, line 177]
Warning (2): SimpleXMLElement::__construct() [simplexmlelement.--construct]: ^ [CORE\Cake\Utility\Xml.php, line 177]

CakePHP: the rapid development php framework

无法将字符串解析为XML

Error: An Internal Error Has Occurred.

1 个答案:

答案 0 :(得分:1)

试图从github实现RestKit遇到同样的问题。

当我将多个变量传递给_serialize参数时,似乎会出现问题。

认为这是因为xml应该包装在主容器中。

将我的内容嵌套在包装器中似乎可以解决这个错误。

Broken Example:
<items>
  <item>data</item>
  <item>data</item>
<items>
<categories>
 <category>data</category>
</categories>

Working Example:
<response>
  <items>
    <item>data</item>
    <item>data</item>
  <items>
  <categories>
   <category>data</category>
  </categories>
</response>

刚改变:

$this->set('data', $this->viewVars);
$this->set('_serialize', array('data'));

要:

$this->set('data', array('data'=>$this->viewVars));
$this->set('_serialize', array('data'));