Deserialize xml para objetar con Symfony2
Recopilo algunos datos en formato xml a través de una API y me gustaría deserializarlos en una lista de objetos. Estoy usando Symfony2 y descubro JMSSerializerBundle pero realmente no sé cómo usarlo.
Sé que Sf2 permite serializar / deserializar un objeto a / desde una matriz, pero estoy buscando algo más específico. Por ejemplo, para esta clase:
<code>class Screenshot { /** * @var integer $id */ private $id; /** * @var string $url_screenshot */ private $url_screenshot; public function __construct($id, $url_screenshot) { $this->id = $id; $this->url_screenshot = $url_screenshot; } /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set url_screenshot * * @param string $urlScreenshot */ public function setUrlScreenshot($urlScreenshot) { $this->url_screenshot = $urlScreenshot; } /** * Get url_screenshot * * @return string */ public function getUrlScreenshot() { return $this->url_screenshot; } /** * Serializes the Screenshot object. * * @return string */ public function serialize() { return serialize(array( $this->id, $this->url_screenshot )); } /** * Unserializes the Screenshot object. * * @param string $serialized */ public function unserialize($serialized) { list( $this->id, $this->url_screenshot ) = unserialize($serialized); } public function __toString() { return "id: ".$this->id ."screenshot: ".$this->url_screenshot; } } </code>
Me gustaría serializar / deserializar a / desde este tipo de xml:
<code><?xml version="1.0" encoding="UTF-8" ?> <screenshots> <screenshot> <id>1</id> <url_screenshot>screenshot_url1</url_screenshot> </screenshot> <screenshot> <id>2</id> <url_screenshot>screenshot_url2</url_screenshot> </screenshot> <screenshot> <id>3</id> <url_screenshot>screenshot_url3</url_screenshot> </screenshot> </screenshots> </code>
Tengo muchas ganas de usar algo integrado / para integrarme en Sf2 (algo "suave") y prefiero evitar cualquier analizador xml casero.