2017-03-29 4 views
9

XMLコンテナ要素が存在する必要があるXSDに基づいてXMLファイルをアセンブルしています。空の配列をJMSシリアライザを使用して空のXML要素にシリアル化できません

配列が空でない場合に動作する構成で、JMSシリアライザを使用して空の配列をシリアル化しようとすると、要素が全くありません。

これを構成で解決できますか、独自のイベントハンドラを実装する必要がありますか?

ありがとうございます。

+0

方法は、init /シリアライザを呼び出してください:上記のプロパティの

サポートも数日前にマスターにマージされました以下PRとxsd2phpで実装されたのですか? – Sebastian

答えて

2

だ場合でも

$serializer = JMS\SerializerBuilder::create(); 
$context = JMS\SerializationContext::create()->setSerializeNull(true);   
$serializedString = $serializer->serialize($data, 'xml', $context); 

ここsetSerializeNull(true)をシリアル化するためにプロパティ/プロパティを強制的に私はいくつかの掘削を行なったし、それが上の指定できる文書化されていないオプションがあることが判明しましたxml_listskip_when_emptyと呼ばれます。 https://github.com/goetas-webservices/xsd2php/pull/27

0

はこれを試してみてください:それはヌル

関連する問題