Desserialize xml para se opor ao Symfony2
Eu coleciono alguns dados no formato xml através de uma API e gostaria de desserializá-los em uma lista de objetos. Estou usando o Symfony2 e descubro o JMSSerializerBundle, mas não sei como usá-lo.
Eu sei que o Sf2 permite serializar / desserializar o objeto de / para o array, mas estou procurando algo mais específico. Por exemplo, para esta classe:
<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>
Eu gostaria de serializar / desserializar de / para esse 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>
Eu realmente quero usar algo integrado / para integrar no Sf2 (algo "suave") e prefiro evitar qualquer parsers xml caseiro.