【Go學習筆記16】解析xml

zhongzhong05發表於2018-03-15

前言

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

相關文章