首页 > 编程语言 > 详细

go语言学习之解析XML

时间:2021-01-28 21:11:57      阅读:31      评论:0      收藏:0      [点我收藏+]
 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 }

 

go语言学习之解析XML

原文:https://www.cnblogs.com/xzlq/p/14341469.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!