前言
本来我觉得在现在JSON流行的时代,xml作为传输数据格式应该不存在了,或者说不太可能遇到了。但是,今天还是遇到了[捂脸]。
将数据编码为xml格式
直接看代码。
package main
import (
"encoding/xml"
"fmt"
"os"
)
type Result struct {
XMLName xml.Name `xml:"pay"`
PayResult string `xml:"payResult"`
ErrCode string `xml:"errcode"`
ErrMsg string `xml:"errmsg"`
}
func main() {
v := Result{
PayResult: "success",
ErrCode: "200",
ErrMsg: "",
}
encoder := xml.NewEncoder(os.Stdout)
encoder.Encode(v)
}
将xml数据解码为对象
package main
import (
"encoding/xml"
"fmt"
"os"
)
type Result struct {
XMLName xml.Name `xml:"pay"`
PayResult string `xml:"payResult"`
ErrCode string `xml:"errcode"`
ErrMsg string `xml:"errmsg"`
}
func main() {
v := Result{}
data := `
<pay><payresult>10</payresult><errcode>99</errcode><errmsg></errmsg></pay>
`
err := xml.Unmarshal([]byte(data), &v)
if err != nil {
fmt.Printf("error: %v", err)
return
}
fmt.Printf(v.PayResult)
}