Wenns unbeding sein muss: Meine Serializer können 255 Datentypen kodieren, von undef, über Leerstring bis float. Sowas braucht nicht unbedingt XML. CSV-kodiert sähe sowas z.B. so aus für einen Hash mit typisierten Werten:
methodname;str;update;articleid;int;123;preis;float;11.99;currency;str;EUR;descr;base64;ABCD==
und siehe da, human ist das auch (außer base64). Einfache Prüfung: Die Anzahl der Array-Elemente nach dem Splitten an ; muss durch 3 teilbar sein.