PHP,如何使用JMS序列化程序(或Symfony序列化程序)自定义日期数组的序列化

PHP,如何使用JMS序列化程序(或Symfony序列化程序)自定义日期数组的序列化,php,symfony,serialization,jmsserializerbundle,Php,Symfony,Serialization,Jmsserializerbundle,我需要序列化一个日期数组(仅此而已,而不是一个包含日期数组的对象!),我希望能够控制它的执行方式: $serializer = SerializerBuilder::create()->build(); $dates = array(new DateTime('1990-07-20'), new DateTime('2000-07-20')); $serialized = $serializer->serialize($dates, 'xml'); 目前,我得到了如下结果: <

我需要序列化一个日期数组(仅此而已,而不是一个包含日期数组的对象!),我希望能够控制它的执行方式:

$serializer = SerializerBuilder::create()->build();
$dates = array(new DateTime('1990-07-20'), new DateTime('2000-07-20'));
$serialized = $serializer->serialize($dates, 'xml');
目前,我得到了如下结果:

<result>
  <entry><![CDATA[1990-07-20T00:00:00+0000]]><entry/>
  <entry><![CDATA[2000-07-20T00:00:00+0000]]><entry/>
</result>

我想配置一些东西,比如:不同的标签,日期的不同格式,获取 去掉CDATA。然后得到这样的结果:

  <dates>
    <date>1990-07-20<date/>
    <date>2000-07-20<date/>
  </dates>

1990-07-20
2000-07-20


我正在考虑的一个选项是创建一个包含数组的Dates对象。然后,我可以使用注释甚至自定义处理程序为日期添加格式,并描述xml标记。但我认为应该有一个更简单的方法。我真的不想创建一个包装器对象来告诉日期数组应该如何序列化。但这并不是一个可怕的解决方案。但是如果你想一个更好的或者回答上面的问题,请告诉我。谢谢

看这里:这似乎就是你要找的。嗨,马库斯,谢谢你的回答。我想看看是否有比包装日期数组或创建处理程序更简单的方法。此问题与此相关:。我想序列化数组,只是重新定义节点名和日期格式。我已经阅读了处理程序的文档,但不清楚如何以简单的方式更改标记名。