23 lines
437 B
Go
23 lines
437 B
Go
package convutil
|
|
|
|
import (
|
|
"encoding/xml"
|
|
"strings"
|
|
)
|
|
|
|
type XmlConvert struct{}
|
|
|
|
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
|
|
}
|