先上xml数据
<?xml version="1.0" encoding="UTF-8" ?>
<name>Sayalic</name>
<age>25</age>
<girlfriend>null</girlfriend>
<gayfriend>
<age>24.5</age>
<name>dploop</name>
<FavoriteFruits>pear</FavoriteFruits>
<FavoriteFruits>lemon</FavoriteFruits>
</gayfriend>
<FavoriteFruits>orange</FavoriteFruits>
<FavoriteFruits>banana</FavoriteFruits>
<FavoriteFruits>apple</FavoriteFruits>
再上代码
package main
import (
"encoding/xml"
"fmt"
"io/ioutil"
"log"
)
type Result struct {
Name string `xml:"name"`
Age int `xml:"age"`
Girlfriend friend `xml:"girlfriend"`
Gayfrifend friend `xml:"gayfrined"`
FavouriteFruits []string `xml:"FavoriteFruits"`
}
type friend struct {
Name string `xml:"name"`
Age int `xml:"age"`
FavouriteFruits []string `xml:"FavoriteFruits"`
}
func main() {
content, err := ioutil.ReadFile("file.xml")
if err != nil {
fmt.Printf("出错了吗:%v\n", err)
}
var result Result
err = xml.Unmarshal(content, &result)
if err != nil {
log.Fatal(err)
}
fmt.Printf("看下结果:%v\n", result)
}
最后上结果
$ go run xmltojison.go
看下结果:{ 0 { 0 []} { 0 []} []}
为啥什么都读不出来也不报错
XML格式不对
<?xml version="1.0" encoding="UTF-8" ?>
<Result>
<name>Sayalic</name>
<age>25</age>
<girlfriend>null</girlfriend>
<gayfriend>
<age>24.5</age>
<name>dploop</name>
<FavoriteFruits>pear</FavoriteFruits>
<FavoriteFruits>lemon</FavoriteFruits>
</gayfriend>
<FavoriteFruits>orange</FavoriteFruits>
<FavoriteFruits>banana</FavoriteFruits>
<FavoriteFruits>apple</FavoriteFruits>
</Result>