package convutil import ( "encoding/xml" "strings" ) type XmlConvert struct{} func (XmlConvert) Enable() bool { return true } func (XmlConvert) Encode(str string) (string, bool) { return str, true } func (XmlConvert) Decode(str string) (string, bool) { trimedStr := strings.TrimSpace(str) if !strings.HasPrefix(trimedStr, "<") && !strings.HasSuffix(trimedStr, ">") { return str, false } var obj any err := xml.Unmarshal([]byte(trimedStr), &obj) return str, err == nil }