Fix detect struct array, add options for encoding, etc into serializers. add wrapper for handle CData in XmlWriter

Should be private and `getElementWriter`