哈喽!今天心血来潮给大家带来了《使用属性解组 xml》,想必大家应该对golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮
哈喽!今天心血来潮给大家带来了《使用属性解组 xml》,想必大家应该对golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!
问题内容在解组 xml 以便访问 xml 属性时遇到问题。不确定我现在做错了什么。它符合要求,但该结构似乎不包含任何数据。
import (
"io/ioutil"
"encoding/xml"
"fmt"
)
xml的内容:
<module id="core" description="core module" tenantid="tenant1" major="3" minor="4" patch="0" build="0">
<probepath path="bin" />
</module>
</metadata>
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的相关知识,也可关注编程网公众号。
--结束END--
本文标题: 使用属性解组 xml
本文链接: https://lsjlt.com/news/596323.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0