登录
首页 >  Golang >  Go问答

使用属性解组 xml

来源:stackoverflow

时间:2024-03-31 23:15:29 378浏览 收藏

哈喽!今天心血来潮给大家带来了《使用属性解组 xml》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

在解组 xml 以便访问 xml 属性时遇到问题。不确定我现在做错了什么。它符合要求,但该结构似乎不包含任何数据。

import (
    "io/ioutil"
    "encoding/xml"
    "fmt"
)

xml的内容:


    
  
type modulefield struct {
    id string `xml:"id,attr"`
    description string `xml:"description,attr"`
    tenantid string `xml:"tenantid,attr"`
    major string `xml:"major,attr"`
    minor string `xml:"minor,attr"`
    patch string `xml:"patch,attr"`
}

type module struct {
    modulefield modulefield
    probepath string `xml:"probepath"`
}

type metadata struct {
    xmlname xml.name `xml:"metadata"`
    module module
}
// read xml file
    raw, _ := ioutil.ReadFile(XMLLoc)
    if err != nil {
        return
    }


    var XMLData Metadata 
    xml.Unmarshal(raw, &XMLData)

    // nothing is being printed
    fmt.Println(">",XMLData.Module.ModuleField.TenantId,"<")

解决方案


字母大小写很重要,因此元素 Module 不会被解组到名为 Module 的字段中,您需要添加正确的标记。此外,您还需要将 ModuleField 嵌入到 Module 中,以便将其字段提升Module,然后才对它们进行解组。或者,您也可以删除 ModuleField 并将其所有字段移至 Module

https://play.golang.org/p/AvaEpcKY-oh

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>