golang - xml文件数据读不出来,求助

查看:147
本文介绍了golang - xml文件数据读不出来,求助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

先上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>

这篇关于golang - xml文件数据读不出来,求助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆