Ich sammle einige Daten im XML-Format über eine API und möchte es in einer Objektliste deserialisieren. Ich benutze Symfony2 und finde JMSSerializerBundle, aber ich weiß nicht wirklich, wie man es benutzt.Deserialize XML zu Objekt mit Symfony2
Ich weiß, dass Sf2 Serialisierung/Deserialisierung Objekt zu/von Array erlaubt, aber ich suche nach etwas Spezifischerem. Zum Beispiel für diese Klasse:
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;
}
}
würde Ich mag die Serialisierung/Deserialisierung zu/von dieser Art von xml:
<?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>
ich in Sf2 zu integrieren wirklich verwenden/integrieren etwas will (etwas "smooth") und vermeiden Sie lieber hausgemachte XML-Parser.
Danke für Ihre Antwort. – Mikolaj
Gern geschehen. Sie können mir danken, indem Sie es upvotieren und es annehmen :) –
Tatsächlich vermisse ich meinen Schuss :) Hier ist mein Kommentar: Danke für Ihre Antwort. Tatsächlich ist die angezeigte Klasse nur ein Beispiel und die 2 Funktionen sind einfache Versuche. Ich möchte nicht mit hausgemachten Funktionen zu/von Xml serialisieren/deserialisieren. Ich weiß, dass JMSSerializerBundle bieten kann, was ich will, aber es ist mir nicht gelungen, es richtig zu benutzen ... Ich suche vor allem nach einem Beispiel für JMSSB oder eine andere Art, es "automatisch" zu tun, etwas skalierbar mit/über Symfony2. – Mikolaj