0

我试图将 xml 传递给正在使用 cakephp 2.3.0 构建的 rest API,但我遇到了一个错误,但我使它与 cakephp 1.3 一起工作。我想知道问题是否出在 cakephp 的 XML 核心实用程序上。

我发布的 XML 字符串如下

<?xml version="1.0" encoding="UTF-8"?>
<username>my username</username>
<password>mypassword</password>
<name>Namanya Hillary</name>
<title>mytitle</title>

错误如下

2013-01-31 07:32:25 Error: [Exception] String could not be parsed as XML
#0 E:\wamp\www\cakephp2.3.0\lib\Cake\Utility\Xml.php(131): SimpleXMLElement->__construct('<?xml version="...', 16384)
#1 E:\wamp\www\cakephp2.3.0\lib\Cake\Utility\Xml.php(100): Xml::_loadXml('<?xml version="...', Array)
#2 E:\wamp\www\cakephp2.3.0\lib\Cake\Controller\Component\RequestHandlerComponent.php(222): Xml::build('<?xml version="...')
#3 [internal function]: RequestHandlerComponent->convertXml('<?xml version="...')
#4 E:\wamp\www\cakephp2.3.0\lib\Cake\Network\CakeRequest.php(828): call_user_func_array(Array, Array)
#5 [internal function]: CakeRequest->input(Array)
#6 E:\wamp\www\cakephp2.3.0\lib\Cake\Controller\Component\RequestHandlerComponent.php(207): call_user_func_array(Array, Array)
#7 [internal function]: RequestHandlerComponent->startup(Object(CompaniesController))
#8 E:\wamp\www\cakephp2.3.0\lib\Cake\Utility\ObjectCollection.php(131): call_user_func_array(Array, Array)
#9 [internal function]: ObjectCollection->trigger(Object(CakeEvent))
#10 E:\wamp\www\cakephp2.3.0\lib\Cake\Event\CakeEventManager.php(247): call_user_func(Array, Object(CakeEvent))
#11 E:\wamp\www\cakephp2.3.0\lib\Cake\Controller\Controller.php(670): CakeEventManager->dispatch(Object(CakeEvent))
#12 E:\wamp\www\cakephp2.3.0\lib\Cake\Routing\Dispatcher.php(183): Controller->startupProcess()
#13 E:\wamp\www\cakephp2.3.0\lib\Cake\Routing\Dispatcher.php(161): Dispatcher->_invoke(Object(CompaniesController), Object(CakeRequest), Object(CakeResponse))
#14 E:\wamp\www\forex\webroot\index.php(102): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#15 {main}

我尝试直接在实用程序文件夹中的核心 XML 实用程序文件中传递 XML,如下第 130 行

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><username>my username</username><password>mypassword</password><name>Namanya Hillary</name><title>mytitle</title>', LIBXML_NOCDATA);

但同样的例外被提出。如果您遇到此类问题或发现任何错误,请帮助我。解决方案的参考链接将很有用。提前致谢。

4

1 回答 1

4

格式正确的 XML 必须有一个根元素。你没有那个。尝试使请求格式类似于:

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <username>my username</username>
    <password>mypassword</password>
    <name>Namanya Hillary</name>
    <title>mytitle</title>
</request>
于 2013-01-31T07:42:38.533 回答