go语言学习 ---struct 对象的序列化和反序列化(xml)
实例1:
//main
package main import (
"encoding/xml"
"fmt"
) type person struct {
Name string
Age int
} func main() {
p := person{Name: "sary", Age: 20} if data, err := xml.MarshalIndent(p, "", " "); err != nil {
fmt.Println(err)
return
} else {
fmt.Println(string(data))
} }
输出:
D:/Go/bin/go.exe build [D:/GOPATH/src/study.go]
Success: process exited with code 0.
D:/GOPATH/src/study.go/study.go.exe [D:/GOPATH/src/study.go]
<person>
<Name>sary</Name>
<Age>20</Age>
</person>
Success: process exited with code 0.
实例2
//main
package main
import (
"encoding/xml"
"fmt"
)
type person struct {
Name string
Age int
}
func main() {
p := person{Name: "sary", Age: 20}
var data []byte
var err error
if data, err = xml.MarshalIndent(p, "#", " "); err != nil {
fmt.Println(err)
return
}
fmt.Println(string(data))
p2 := new(person)
if err = xml.Unmarshal(data, p2); err != nil {
fmt.Println(err)
return
}
fmt.Println(p2)
}
输出:
D:/Go/bin/go.exe build [D:/GOPATH/src/study.go]
Success: process exited with code 0.
D:/GOPATH/src/study.go/study.go.exe [D:/GOPATH/src/study.go]
#<person>
# <Name>sary</Name>
# <Age>20</Age>
#</person>
&{sary 20}
Success: process exited with code 0.
实例3:(设置标签属性)
//main
package main import (
"encoding/xml"
"fmt"
) type person struct {
Name string `xml:"Name,attr"`
Age int `xml:"Age,attr"`
} func main() {
p := person{Name: "sary", Age: 20} var data []byte
var err error if data, err = xml.MarshalIndent(p, "#", " "); err != nil {
fmt.Println(err)
return
} fmt.Println(string(data)) p2 := new(person)
if err = xml.Unmarshal(data, p2); err != nil {
fmt.Println(err)
return
}
fmt.Println(p2) }
输出:
D:/Go/bin/go.exe build [D:/GOPATH/src/study.go]
Success: process exited with code 0.
D:/GOPATH/src/study.go/study.go.exe [D:/GOPATH/src/study.go]
#<person Name="sary" Age="20"></person>
&{sary 20}
Success: process exited with code 0.
最新文章
- 支持多返回值存储过程的SqlHelper
- nw.js FrameLess Window下的窗口拖拽与窗口大小控制
- C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?
- java基础之 异常
- POJ 1988
- zlib导致Ubuntu登录管理器失效
- zoj 3329 One Person Game 概率DP
- NGUI系列教程四(自定义Atlas,Font)
- 如何优化cocos2d程序的内存使用和程序大小:第二部分_(转)
- apache2.2.25+mod_jk-apache-2.2.2.so+apache-tomcat-7.0.56集群
- Java String类练习题
- 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数
- 使用SpringSecurity体验OAuth2 (入门2)
- C#分部类型解析
- MySQL的一些基本命令笔记(1)
- vue2.x + vux采坑总结(一)
- 进程和线程(3)-ThreadLocal
- CentOS下使用autoenv实现进入特定目录后运行特定环境变量
- [nginx]location语法
- LeetCode——Nim Game