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

go语言学习之解析XML

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 1
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book>
        <name>11</name>
        <author>11</author>
        <year>2014</year>
        <price>89</price>
    </book>
    <book>
        <name>131</name>
        <author>131</author>
        <year>20314</year>
        <price>839</price>
    </book>    
</bookstore>

 

package main
 2 
 3 import (
 4        "encoding/xml"
 5 "fmt"
 6 "io/ioutil"
 7 "os"
 8    )
 9 
10 type BookStore struct {  
11     XMLName xml.Name  `xml:"bookstore"`
12     Books []book  `xml:"book"`
13     Description string `xml:",innerxml"`
14 }
15 
16 type book struct {
17     XMLName xml.Name `xml:"book"`
18     Name string `xml:"name"`
19 //    author string `xml:"author"`
20 //    year string `xml:"year"`
21 //    price string `xml:"price"`
22 }
23 
24 func needPrintfErr(err error) bool {
25     if err != nil {
26         fmt.Printf("error: %v", err)
27         return true
28     }
29     return false;
30 }
31 
32 func main() {
33     file, err := os.Open("/home/liq-n/eclipse-workspace/MyFirstGolang/src/main/bookInfo.xml")
34     if needPrintfErr(err) {
35     return
36     }
37     
38     defer file.Close()
39     data, err := ioutil.ReadAll(file)
40     if needPrintfErr(err) {
41     return
42     }
43     
44     bookInfo := BookStore{}
45     err = xml.Unmarshal(data, &bookInfo)
46     if needPrintfErr(err){
47     return 
48     }
49     fmt.Println(bookInfo)
50 }

 


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
【go】go程序开发tips发布时间:2022-07-10
下一篇:
Go - 扯淡篇发布时间: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