返回顶部
首页 > 资讯 > 精选 >在 Go 中解组编号的 XML 标签
  • 507
分享到

在 Go 中解组编号的 XML 标签

go语言 2024-02-10 15:02:03 507人浏览 泡泡鱼
摘要

PHP小编香蕉为您介绍在Go语言中解组编号的XML标签的方法。Go语言提供了xml.Unmarshal函数,它可以将XML数据解组为Go结构体。在解组时,我们可以使用标签来指定XML元

PHP小编香蕉为您介绍在Go语言中解组编号的XML标签的方法。Go语言提供了xml.Unmarshal函数,它可以将XML数据解组为Go结构体。在解组时,我们可以使用标签来指定XML元素与结构体字段之间的映射关系。通过在结构体字段的标签中添加`xml:"tagname"`,我们可以将XML中的特定标签与结构体字段关联起来,实现自动的解组操作。这种方法简单高效,使得在Go语言中处理XML数据变得轻松愉快。

问题内容

我尝试了很多结构来尝试解组此 xml,但我无法真正弄清楚:

package main

import (
    "bytes"
    "encoding/xml"
    "fmt"
)

type SettinGContainer struct {
    XMLName  xml.Name  `xml:"Settings"`
    Settings []Setting `xml:",any"`
}

type Setting struct {
    XMLName          xml.Name          `xml:",any"`
    SettingReGISters []SettingRegister `xml:",any"`
}

type SettingRegister struct {
    XMLName xml.Name `xml:",any"`
    Value   string   `xml:"value,attr"`
}

func main() {
    var xmlData = bytes.NewBufferString(`
    
        
            
            
        
        
            
            
        
        
            
            
        
        
            
            
        
    `)

    var s []SettingContainer
    xml.Unmarshal(xmlData.Bytes(), &s)

    for _, i := range s {
        fmt.Println(i)
    }
}

我就是无法让它打印任何东西。我实际需要的字段是settingn_register 的值attr 以及settingn 标签名称。我怎样才能正确地将 xml 解组到这些字段中?我正在考虑制作一个自定义解组函数,但我真的找不到如何正确制作一个函数。我从这个 xml 中只能得到“settings”标签名称。

解决方法

xmlname 字段中删除 xml:",any" 标记(这会导致解码器尝试将额外的子元素映射到此字段),并将其解组为 settingcontainer 而不是 []settingcontainer 作为 xml文档只能有一个根元素。此处的工作示例:https://www.php.cn/link/d2949eb6aaa490c835219e945ff37dad

type SettingContainer struct {
    XMLName  xml.Name  `xml:"Settings"`
    Settings []Setting `xml:",any"`
}

type Setting struct {
    XMLName          xml.Name
    SettingRegisters []SettingRegister `xml:",any"`
}

type SettingRegister struct {
    XMLName xml.Name
    Value   string `xml:"value,attr"`
}

func main() {
    var xmlData = bytes.NewBufferString(`...`)

    var s SettingContainer
    xml.Unmarshal(xmlData.Bytes(), &s)

    fmt.Println(s)
}

以上就是在 Go 中解组编号的 XML 标签的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 在 Go 中解组编号的 XML 标签

本文链接: https://www.lsjlt.com/news/563151.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在 Go 中解组编号的 XML 标签
    php小编香蕉为您介绍在Go语言中解组编号的XML标签的方法。Go语言提供了xml.Unmarshal函数,它可以将XML数据解组为Go结构体。在解组时,我们可以使用标签来指定XML元...
    99+
    2024-02-10
    go语言
  • 在 golang 中使用一些未知标签解组 XML?
    在golang中,我们经常需要处理XML数据。然而,有时候我们可能会遇到一些未知的标签,这给解组XML数据带来了一些困难。那么,如何在golang中处理这些未知标签呢?在本文中,php...
    99+
    2024-02-08
    overflow
  • 在 Go 中通过字段符号查找标签
    学习知识要善于思考,思考,再思考!今天编程网小编就给大家带来《在 Go 中通过字段符号查找标签》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看...
    99+
    2024-04-05
  • 怎么在html标签中添加大于号
    这期内容当中小编将会给大家带来有关怎么在html标签中添加大于号,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。因为>或者<在HMTL里与标签的包裹的“<>”有冲突,所以会在HTML...
    99+
    2023-06-15
  • resultMap标签中里的collection标签详解
    目录resultMap标签中的collection标签collection(一对多)collection标签中各属性的说明resultMap标签中的collection标签 coll...
    99+
    2024-04-02
  • Go 中的 YAML 自定义标签
    php小编香蕉为您介绍Go语言中的YAML自定义标签。YAML是一种轻量级的数据序列化格式,而Go语言作为一种强大的编程语言,自然也提供了对YAML的支持。在Go中,我们可以通过自定义...
    99+
    2024-02-10
    go语言
  • 在 Golang 中解码时如何获取 XML 标签的字符数据和属性值
    欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《在 Golang 中解码时如何获取 XML 标签的字符数据和属性值》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感...
    99+
    2024-04-05
  • 在 Go 中解组 JSON 中的 JSON
    php小编西瓜将为您介绍在Go语言中解析JSON的方法。在开发过程中,处理JSON数据是一项常见的任务。Go语言提供了强大而简单的方式来解组JSON数据,并将其映射到Go语言的结构体中...
    99+
    2024-02-09
    go语言 标准库
  • MyBatis中XML 映射文件中常见的标签说明
    SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出): cache – 对给定命名空间的缓存配置。 cache-ref – 对其他命名空间缓存配置的引用...
    99+
    2024-04-02
  • MyBatis中XML映射文件中常见的标签介绍
    本篇内容介绍了“MyBatis中XML映射文件中常见的标签介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SQL 映射文件只有很少的几个顶...
    99+
    2023-06-20
  • Mybatis的xml中使用if/else标签的具体使用
    目录使用if标签进行查询where标签出场if/else 使用 choose,when,otherwise 代替使用if标签进行查询 SELECT ord...
    99+
    2024-04-02
  • HTML5中的新标签和常用标签详解
    本篇内容介绍了“HTML5中的新标签和常用标签详解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HTML5...
    99+
    2024-04-02
  • 在 Go 中解组 sql.NullTime 结构
    php小编小新在Go语言中,我们经常会使用sql.NullTime结构来处理数据库中的时间字段。NullTime结构可以表示一个可空的时间值,非常适用于处理数据库中的空值。在本文中,我...
    99+
    2024-02-09
    go语言
  • mybatis框架xml下trim中的prefix与suffix等标签的用法
    trim中prefix与suffix等标签用法 1.prefix 前缀增加的内容 2.suffix 后缀增加的内容 3.prefixOverrides 前缀需要覆盖的内容,一般是第一...
    99+
    2024-04-02
  • 解析HTML列表标签的语法结构:深入了解标签的组成和作用
    HTML 列表标签用于创建列表,它可以包含有序列表和无序列表。有序列表使用数字或字母作为项目标记,而无序列表使用圆点或方块作为项目标记。 有序列表 有序列表使用 <ol> 标签创建,<ol> 标签内的每个项目使用...
    99+
    2024-02-11
    HTML 列表标签 OL UL LI DL DT DD
  • Mybatis mapper标签中配置子标签package的坑及解决
    目录mapper标签中配置子标签package的坑Mybatis中mappers标签介绍配置方式1.接口所在包2.相对路径配置3.类注册引入4.使用URL绝对路径方式引入(不用)使用...
    99+
    2024-04-02
  • Vue中props组件和slot标签的区别
    在 Vue 中,props 和 slot 都是组件之间进行通信的机制,它们的作用和应用场景有一些区别: props 是一种组件的数据传递机制,...
    99+
    2023-05-14
    Vue中props组件和slot标签的区别 Vue中props组件 Vue中slot标签
  • python 中 lxml 的 etree 标签解析
    目录一、安装二、创建标签三、添加子节点四、删除子节点五、删除所有子节点六、操作子节点七、获取父节点八、创建属性九、获取属性十、设置标签文本十一、xpath方法十二、判断文本类型十三、...
    99+
    2024-04-02
  • Go编程中的数组:你真的理解了吗?
    数组是编程语言中最基础的数据结构之一,Go语言中也不例外。它是一种固定长度、存储相同类型元素的数据结构。虽然在Go中也有切片(slice)这样的动态数组类型,但是对于一些固定长度的数据存储需求,数组仍然是很有用的。 本文将深入探讨Go编程...
    99+
    2023-08-15
    编程算法 关键字 数组
  • 在Netdata中如何利用标签系统组织和管理监控目标
    在Netdata中,可以利用标签系统来组织和管理监控目标。通过标签系统,用户可以为监控目标添加自定义的标签,并根据这些标签来对监控目标进行分类、筛选和管理。 以下是在Netdata中如何利用标签系统组织和管理监控目标的步骤: 登录Net...
    99+
    2024-06-03
    zabbix
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作