当前位置: 首页 > article >正文

XML与Go结构互转实现(序列化及反序列化)

在Golang编程中,对象序列化成XML,或者从XML反序列化为对象是很常见的情况。
先前这里文章,可以点击直达了解一下:
根据XML生成Golang结构代码工具
介绍了代码生成工具,可便于根据报文直接快速生成代码,这样不用一个一个字段手写。

然后就可以根据生成的结构编写代码:

例如:

type XML struct {
	XMLName xml.Name `xml:"xml"`
	Text    string   `xml:",chardata"`
	Abc     string   `xml:"abc"`
}

func main() {
	xmlSrc := []byte(`<xml>
		<abc>123</abc>
	</xml>`)

	var x XML
	xml.Unmarshal(xmlSrc, &x)

	if x.Abc == "123" {
		fmt.Println("ok")
	}
}

关键代码:

反序列化用:
xml.Unmarshal(xmlSrc, &x)

序列化用:
xml, err := xml.MarshalIndent(x, “”, " ")
参数2是每行前缀,参数3是缩进,这里使用缩进符号tab


http://www.kler.cn/a/455802.html

相关文章:

  • 多模态论文笔记——LLaVA
  • 进军AI大模型-环境配置
  • 《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS技术理念
  • Element-ui table组件:单元格未溢出,悬浮出现popover提示框
  • AEO海关认证的注意事项
  • 电脑缺失libcurl.dll怎么解决?详解电脑libcurl.dll文件丢失问题
  • 常用 Docker 命令介绍
  • tensorflow_probability与tensorflow版本依赖关系
  • leetcode83:删除链表中的重复元素
  • LLM常见面试题(26-30题)--langchain篇
  • Android 图片优化
  • Wend看源码-Java-集合学习(List)
  • 处理元素卡在视野边界,滚动到视野内
  • 混合式框架 Tauri
  • Vue3 核心语法
  • linux——vi命令常用操作
  • Linux从0到1——线程同步和互斥【互斥量/条件变量/信号量/PC模型】
  • 汽车CAN通信逻辑与LabVIEW开发
  • 第P4周:猴痘病识别
  • Unity中UGUI的Button动态绑定引用问题
  • 我的秋招总结
  • 告别 Shuffle!深入探索 Spark 的 SPJ 技术
  • 游戏引擎学习第63天
  • 使用C#创建人名或其他物体随机分组
  • Maven 快照(SNAPSHOT)
  • 个人电子书库管理器Biblioteca