Thanks for your answer. Yes indeed it doesn't behave the way the manual says it should.
For now I will use an alternative ;-) Le jeudi 23 août 2012 11:47:02 UTC+1, Alexandre Leprêtre a écrit : > > Hi everyone, > > I am trying to build a nice REST API for my website and I had never tried > it through CakePHP. I started to follow the (short) instructions, however, > the way it works looks totally different from what I can read in the > Cookbook. > > I use CakePHP 2.2.1. > > Here's what I've done so far: > > *app/Controller/OrdersController.php* > <?php > class OrdersController extends AppController { > public function fetch($accountId) { > $this->loadModel('Account'); > $this->Account->id = $accountId; > $orders = $this->Order->find('all', array( > 'conditions' => array('Order.account_id' => $accountId) > )); > $response = $orders; > $this->set(compact('response')); > } > } > > *app/View/Orders/xml/fetch.ctp* > <?php > $xml = Xml::fromArray(array('orders' => $orders)); > echo $xml->asXML(); > > I tried this with the first account and everything was fine > > *Ouput:* > <orders> > <Order> > <id>502cc39f-5b74-4a25-9bb2-670458d0d2b2</id> > <order_ref>96277</order_ref> > <account_id>502cc39d-8640-465a-b0da-670458d0d2b2</account_id> > <created>2012-08-16 09:55:43</created> > <modified>2012-08-16 09:55:43</modified> > </Order> > </orders> > > Everything is fine with an account that has one order. > > However, with an account that has several orders, this doesn't work > anymore. > > *Expected output:* > <orders> > <Order> > <id>502cc39f-66eb-59d2-2337-670458d0d2b2</id> > <order_ref>96255</order_ref> > <account_id>502cc39d-6325-ad25-5b64-670458d0d2b2</account_id> > <created>2012-08-16 09:42:33</created> > <modified>2012-08-16 09:42:33</modified> > </Order> > <Order> > <id>502cc39f-ee21-3c89-8120-670458d0d2b2</id> > <order_ref>96231</order_ref> > <account_id>502cc39d-6325-ad25-5b64-670458d0d2b2</account_id> > <created>2012-08-16 09:21:01</created> > <modified>2012-08-16 09:21:01</modified> > </Order> > </orders> > * > * > *What I get:* > This page contains the following errors: > error on line 1 at column 367: Entity 'nbsp' not defined > Below is a rendering of the page up to the first error.*Warning* > (2)<http://devapi.ssl247.net/orders/fetch/502cc1be-7e48-4913-89c2-65f058d0d2b2.xml>: > > SimpleXMLElement::__construct() > [simplexmlelement.--construct<http://devapi.ssl247.net/orders/fetch/simplexmlelement.--construct>]: > > Entity: line 3: parser error : Extra content at the end of the document [* > CORE\Cake\Utility\Xml.php*, line > *197*]Code<http://devapi.ssl247.net/orders/fetch/502cc1be-7e48-4913-89c2-65f058d0d2b2.xml> > > Context<http://devapi.ssl247.net/orders/fetch/502cc1be-7e48-4913-89c2-65f058d0d2b2.xml> > > I assume that Xml::fromArray() doesn't accept multiple numeric keys. Or > something like this. I don't mind editing my PHP array to get he XML I > expect but I really don't know how I should write my array for this :-( > > Any help is welcome. > > Thank you!! > > Alex > -- You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php?hl=en-US.