trpc.group/trpc-go/trpc-go@v1.0.3/codec/serialization_xml.go (about) 1 // 2 // 3 // Tencent is pleased to support the open source community by making tRPC available. 4 // 5 // Copyright (C) 2023 THL A29 Limited, a Tencent company. 6 // All rights reserved. 7 // 8 // If you have downloaded a copy of the tRPC source code from Tencent, 9 // please note that tRPC source code is licensed under the Apache 2.0 License, 10 // A copy of the Apache 2.0 License is included in this file. 11 // 12 // 13 14 package codec 15 16 import ( 17 "encoding/xml" 18 ) 19 20 func init() { 21 RegisterSerializer(SerializationTypeXML, &XMLSerialization{}) 22 RegisterSerializer(SerializationTypeTextXML, &XMLSerialization{}) 23 } 24 25 // XMLSerialization provides xml serialization mode. 26 type XMLSerialization struct{} 27 28 // Unmarshal deserializes the in bytes into body. 29 func (*XMLSerialization) Unmarshal(in []byte, body interface{}) error { 30 return xml.Unmarshal(in, body) 31 } 32 33 // Marshal returns the serialized bytes in xml protocol. 34 func (*XMLSerialization) Marshal(body interface{}) ([]byte, error) { 35 return xml.Marshal(body) 36 }