Das leere Array kann nicht mit dem JMS-Serializer in ein leeres XML-Element serialisiert werden

9

Ich stelle eine XML-Datei zusammen, die auf einer XSD basiert, für die ein XML-Containerelement vorhanden sein muss, auch wenn es leer ist.

Wenn ich versuche, ein leeres Array mit dem JMS-Serializer zu serialisieren, mit einer Konfiguration, die funktioniert, wenn das Array nicht leer ist, bekomme ich überhaupt kein Element.

Kann ich dies durch Konfiguration lösen oder muss ich meinen eigenen Event-Handler implementieren?

Vielen Dank im Voraus.

    
Rasmus H. Hummelmose 29.03.2017, 09:13
quelle

2 Antworten

2

Ich habe etwas gegraben und es stellte sich heraus, dass es eine undokumentierte Option gibt, die in xml_list , genannt skip_when_empty , angegeben werden kann.

Unterstützung für die oben erwähnte Eigenschaft wurde auch in xsd2php mit dem folgenden PR implementiert, das vor einigen Tagen in master zusammengeführt wurde: Ссылка

    
Rasmus H. Hummelmose 05.04.2017, 20:07
quelle
0
___ qstnhdr ___ Das leere Array kann nicht mit dem JMS-Serializer in ein leeres XML-Element serialisiert werden ___ answer43240692 ___

Ich habe etwas gegraben und es stellte sich heraus, dass es eine undokumentierte Option gibt, die in setSerializeNull(true) , genannt %code% , angegeben werden kann.

Unterstützung für die oben erwähnte Eigenschaft wurde auch in xsd2php mit dem folgenden PR implementiert, das vor einigen Tagen in master zusammengeführt wurde: Ссылка

    
___ qstntxt ___

Ich stelle eine XML-Datei zusammen, die auf einer XSD basiert, für die ein XML-Containerelement vorhanden sein muss, auch wenn es leer ist.

Wenn ich versuche, ein leeres Array mit dem JMS-Serializer zu serialisieren, mit einer Konfiguration, die funktioniert, wenn das Array nicht leer ist, bekomme ich überhaupt kein Element.

Kann ich dies durch Konfiguration lösen oder muss ich meinen eigenen Event-Handler implementieren?

Vielen Dank im Voraus.

    
___ tag123xsd ___ XSD bezieht sich im Allgemeinen auf ein Dokument, das im W3C-XML-Schemaformat geschrieben wurde und eine Beschreibung eines bestimmten XML-Dokumenttyps enthält. ___ tag123xml ___ Die XML-Datei (Extensible Markup Language) ist ein flexibles, strukturiertes Dokumentformat, das Codierungsregeln für Menschen und Maschinen definiert. ___ tag123jmsserializer ___ Serializer ist eine Bibliothek, mit der Sie Daten beliebiger Komplexität (de-) serialisieren können. Derzeit unterstützt es XML, JSON und YAML. Website: http://jmyst.com/libs/serializer ___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ antwort43202739 ___

Versuchen Sie Folgendes:

%Vor%

here %code% erzwingt die Serialisierung der Eigenschaft / Eigenschaften, auch wenn sie null ist

    
___
rajatsaurastri 04.04.2017 09:05
quelle

Tags und Links