Go语言对XML的操作

字号+ 编辑: IT男在阿里 修订: H波 来源: 利志分享 2023-09-10 我要说两句(0)

以代码的方式讲解如何使用Go来操作XML。

go语言操作常见脚本内容都有现成的库来依赖, xml的库: encoding/xml

package main

import (
	"encoding/xml" //加载xml的库  
	"fmt"  
	"io/ioutil"  
	"os"  
)

type Recurlyservers struct {  
	XMLName     xml.Name `xml:"servers"` //这里好像是固定字段必须这么写  
	Version     string   `xml:"version.attr"`  
	Svs         []server `xml:"server"`  
	Description string   `xml:",innerxml"`  
}
  
type server struct {  
	XMLName    xml.Name `xml:"server"`  
	ServerName string   `xml:"serverName"`  
	ServerIP   string   `xml:"serverIP"`  
}

func main() {  
	//打开xml文件  
	file, err := os.Open("test.xml")  
	if err != nil {  
		fmt.Printf("error:%v", err)  
		return  
	}  
	defer file.Close()  
	//读取文件
	data, err := ioutil.ReadAll(file)  
	//fmt.Println(data)  
	if err != nil {  
		fmt.Printf("error:%v", err)  
		return  
	}  
	v := Recurlyservers{}  
	//解析成对应的struct对象  
	err = xml.Unmarshal(data, &v)  
	if err != nil {  
		fmt.Printf("error: %v", err)  
		return  
	}  

	fmt.Println(v)
}


阅完此文,您的感想如何?
  • 有用

    1

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • GO语言GORM如何更新字段

  • gorm如何创建记录与模型定义需要注意什么

  • gorm一般查询与高级查询

  • GORM时间戳跟踪及CURD(增删改查)

我要说说
网上宾友点评