我正在组装一个基于XSD的XML文件,该文件需要存在XML容器元素,即使它是空的。
当我尝试使用JMS序列化程序序列化一个空数组时,如果数组不为空,则配置有效,我根本就没有元素。
我可以通过配置解决这个问题,还是必须实现自己的事件处理程序?
提前致谢。
答案 0 :(得分:3)
我做了一些挖掘,结果发现有一个未记录的选项可以在xml_list
上指定,名为skip_when_empty
。
在xsd2php中也实现了对上述属性的支持,以及几天前合并到master中的以下PR: https://github.com/goetas-webservices/xsd2php/pull/27
答案 1 :(得分:1)
试试这个:
$serializer = JMS\SerializerBuilder::create();
$context = JMS\SerializationContext::create()->setSerializeNull(true);
$serializedString = $serializer->serialize($data, 'xml', $context);
此处setSerializeNull(true)
将强制属性/属性序列化,即使它为空