XMLコンテナ要素が存在する必要があるXSDに基づいてXMLファイルをアセンブルしています。空の配列をJMSシリアライザを使用して空のXML要素にシリアル化できません
配列が空でない場合に動作する構成で、JMSシリアライザを使用して空の配列をシリアル化しようとすると、要素が全くありません。
これを構成で解決できますか、独自のイベントハンドラを実装する必要がありますか?
ありがとうございます。
XMLコンテナ要素が存在する必要があるXSDに基づいてXMLファイルをアセンブルしています。空の配列をJMSシリアライザを使用して空のXML要素にシリアル化できません
配列が空でない場合に動作する構成で、JMSシリアライザを使用して空の配列をシリアル化しようとすると、要素が全くありません。
これを構成で解決できますか、独自のイベントハンドラを実装する必要がありますか?
ありがとうございます。
だ場合でも
$serializer = JMS\SerializerBuilder::create();
$context = JMS\SerializationContext::create()->setSerializeNull(true);
$serializedString = $serializer->serialize($data, 'xml', $context);
ここsetSerializeNull(true)
をシリアル化するためにプロパティ/プロパティを強制的に私はいくつかの掘削を行なったし、それが上の指定できる文書化されていないオプションがあることが判明しましたxml_list
、skip_when_empty
と呼ばれます。 https://github.com/goetas-webservices/xsd2php/pull/27
はこれを試してみてください:それはヌル
方法は、init /シリアライザを呼び出してください:上記のプロパティの
サポートも数日前にマスターにマージされました以下PRとxsd2phpで実装されたのですか? – Sebastian