• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

goxml解析一

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
  • xml
<?xml version="1.0" encoding="UTF-8"?>
<Persons>
    <Person>
        <Name>小王</Name>
        <Age>28</Age>
        <Career>无业游民</Career>
        <Interests>
            <Interest>编程</Interest>
            <Interest>下棋</Interest>
        </Interests>
    </Person>
    <Person>
        <Name>小明</Name>
        <Age>27</Age>
        <Career>码农</Career>
        <Interests>
            <Interest>编程</Interest>
            <Interest>下棋</Interest>
        </Interests>
    </Person>
</Persons>

 

  • xmlModel
/**
* @Author: wsp
* @Date: 2018/1/12 9:37
* @Description:
 */
package xml

type Result struct {
    Person []Person
}

type Person struct {
    Name      string
    Age       string
    Career    string
    Interests Interests
}

type Interests struct {
    Interest []string
}
  • xmlAnalyze
/**
* @Author: wsp
* @Date: 2018/1/11 15:16
* @Description:
 */
package xml

import (
    "encoding/xml"
    "fmt"
    "io/ioutil"
    "unicontract-validate/utils/jsonUtils"
)

/**
* @Author: wsp
* @Date: 9:38 2018/1/12
* @Description: 测试xml
 */
func XmlTest1() {
    content, err := ioutil.ReadFile("test.xml")
    ErrHandler(err)
    //fmt.Println("xml中内容:")
    //fmt.Println(string(content))

    // xml 解析到result的结构中
    var result Result
    err2 := xml.Unmarshal(content, &result)
    ErrHandler(err2)
    fmt.Println("xml解析后的内容:")
    fmt.Println(result)

    // sturct to json
    jsonString, err3 := jsonUtils.ConvertResultToJsonString(result)
    ErrHandler(err3)
    fmt.Println("struct to json:")
    fmt.Println(jsonString)

}

/**
* @Author: wsp
* @Date: 10:27 2018/1/12
* @Description: 错误处理
 */
func ErrHandler(err error) {
    if err != nil {
        panic(err)
    }
}
  • jsonUtils
/**
* @Author: wsp
* @Date: 2018/1/10 18:05
* @Description:
 */
package jsonUtils

import (
    "encoding/json"
    "unicontract-validate/common/uniledgerLogger"
)

/**
* @Author: wsp
* @Date: 18:18 2018/1/10
* @Description: 将返回值转换为json串返回
* @Param: Result结构
* @Return: json串,err
 */
func ConvertResultToJsonString(param interface{}) (string, error) {
    result, err := json.Marshal(param)
    if err != nil {
        uniledgerLogger.Error("返回结果struct转json出错:", err)
    }
    return string(result), err
}

 

  • result
xml解析后的内容:
{[{小王 28 无业游民 {[编程 下棋]}} {小明 27 码农 {[编程 下棋]}}]}
struct to json:
{"Person":[{"Name":"小王","Age":"28","Career":"无业游民","Interests":{"Interest":["编程","下棋"]}},{"Name":"小明","Age":"27","Career":"码农","Interests":{"Interest":["编程","下棋"]}}]}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
推荐 10 本 Go 经典书籍,从入门到进阶(含下载方式)发布时间:2022-07-10
下一篇:
42_Go基础_1_9输入和输出发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap