前言
本來我覺得在現在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)
}
複製程式碼