@@ -856,6 +856,62 @@ you indicate that you're expecting an array instead of a single object.
856
856
857
857
$data = ...; // The serialized data from the previous example
858
858
$persons = $serializer->deserialize($data, 'Acme\Person[]', 'json');
859
+
860
+ The ``XmlEncoder ``
861
+ -----------------------
862
+
863
+ This encoder transforms arrays into XML and vice versa.
864
+
865
+ For example, take an object normalized as following::
866
+
867
+ array('foo' => array(1, 2), 'bar' => true);
868
+
869
+ The ``XmlEncoder `` will encode this object like that::
870
+
871
+ <?xml version="1.0"?>
872
+ <response>
873
+ <foo>1</foo>
874
+ <foo>2</foo>
875
+ <bar>1</bar>
876
+ </response>
877
+
878
+ Be aware that this encoder will consider keys beginning with ``@ `` as attributes::
879
+
880
+ $encoder = new XmlEncoder();
881
+ $encoder->encode(array('foo' => array('@bar' => 'value')));
882
+ // will return:
883
+ // <?xml version="1.0"?>
884
+ // <response>
885
+ // <foo bar="value" />
886
+ // </response>
887
+
888
+ Context
889
+ ~~~~~~~~~~~~~~~
890
+
891
+ The context param is an array of additional options for the XmlEncoder.
892
+ It must be defined in the call of XmlEncoder encode() method :
893
+
894
+ $xmlEncoder->encode($array, 'xml', $context);
895
+
896
+ **Available params : **
897
+
898
+ ``xml_format_output ``
899
+ If setted to true, format the output XML with line break and indentation
900
+
901
+ ``xml_version ``
902
+ Change the XML version attribute
903
+
904
+ ``xml_encoding ``
905
+ Change the XML encoding attribute
906
+
907
+ ``xml_standalone ``
908
+ Add standalone attribute in XML output
909
+
910
+ ``remove_empty_tags ``
911
+ If setted to true, remove all empty tags in the XML output
912
+
913
+ ``xml_root_node_name ``
914
+ Change the root node name (default : response)
859
915
860
916
Recursive Denormalization and Type Safety
861
917
-----------------------------------------
0 commit comments