2016-11-08 1 views
0

J'essaie de deserialise le code XML suivant:XML Deserialise avec JMS sérialiseur, se vide opbject

<?xml version="1.0" encoding="utf-8"?> 
<customers> 
    <customer> 
     <name>..</name> 
     <address>..</address> 
     <email>..</email> 
     <website>..</website> 
    </customer> 
    <customer> 
     ... 
    </customer> 
<customers> 

J'ai fait l'entité suivante:

use JMS\Serializer\Annotation as JMS;  

class customers 
{ 

    public function __construct() 
    { 
     $this->customers = new ArrayCollection(); 
    } 

    /** 
    * @JMS\Type("ArrayCollection<MyBundle\Entity\customer>") 
    * @JMS\XmlList(entry="customer") 
    */ 
    public $customers; 
} 

Ceci est la deuxième entité:

use JMS\Serializer\Annotation as JMS;  

class customer 
{ 

    /** 
    * @JMS\Type("string") 
    */ 
    public $name; 

    /** 
    * @JMS\Type("string") 
    */ 
    public $address; 

    /** 
    * @JMS\Type("string") 
    */ 
    public $email; 

    /** 
    * @JMS\Type("string") 
    */ 
    public $website; 
} 

Puis-je utiliser le code suivant dans le contrôleur serialise:

$serializer = $this->get('jms_serializer'); 
$customers = $serializer->deserialize($inputStr, 'MyBundle\Entity\customers', 'xml'); 

Seul l'objet continue de se vider?

Répondre

0

Essayez de changer, en classe Clients, l'annotation @JMS\XmlList(inline=true, entry="customer")