2017-03-29 21 views
9

Tôi đang lắp ráp một tệp XML dựa trên XSD yêu cầu phần tử chứa XML, ngay cả khi nó trống.Không thể tuần tự hóa mảng trống thành phần tử XML rỗng với bộ nối tiếp JMS

Khi tôi cố gắng tuần tự hóa một mảng trống, sử dụng trình nối tiếp JMS, với cấu hình hoạt động nếu mảng không trống, tôi không nhận được phần tử nào cả.

Tôi có thể giải quyết vấn đề này theo cấu hình hoặc tôi có phải triển khai trình xử lý sự kiện của riêng mình không?

Xin cảm ơn trước.

+0

Làm thế nào để bạn init/gọi Serializer? – Sebastian

Trả lời

2

tôi đã làm một số đào và nó bật ra rằng có là một lựa chọn không có giấy tờ có thể được xác định trên xml_list, được gọi là skip_when_empty.

Hỗ trợ cho các tài sản nêu trên cũng được thực hiện trong xsd2php với PR sau đó đã được sáp nhập vào tổng thể một vài ngày trước: https://github.com/goetas-webservices/xsd2php/pull/27

0

Hãy thử điều này:

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

đây setSerializeNull(true) sẽ buộc sở hữu/tài sản để serialize ngay cả khi nó là null

Các vấn đề liên quan