0

Cakephp 2.3.0 で構築している残りの API に xml を渡そうとしていますが、エラーが発生していますが、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}

以下の 130 行目で、ユーティリティ フォルダのコア XML ユーティリティ ファイルに直接 XML を渡そうとしました。

$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

Properly formed XML must have a single root element. You do not have that. Try making the request format something like:

<?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 に答える