0
我正在創建一個RESTful webservice,現在我正面臨新資源的插入(Season
資源)。這是POST請求的身體:將XML字符串解析爲PHP數組?
<request>
<Season>
<title>new title</title>
</Season>
</request>
,這是有效執行插入控制器:
public function add() {
// i feel shame for this line
$request = json_decode(json_encode((array) simplexml_load_string($this->request->input())), 1);
if (!empty($request)) {
$obj = compact("request");
if ($this->Season->save($obj['request'])) {
$output['status'] = Configure::read('WS_SUCCESS');
$output['message'] = 'OK';
} else {
$output['status'] = Configure::read('WS_GENERIC_ERROR');
$output['message'] = 'KO';
}
$this->set('output', $output);
}
$this->render('generic_response');
}
代碼工作得很好,但正如我在片段中寫道上面我考慮控制器的第一行真的很醜,所以,問題是:我如何將XML字符串解析爲PHP數組?
'xml_parse_into_struct()' – clover
爲什麼你有'緊湊型( 「請求」)''然後$ OBJ [ '請求']'? – nickb