如何将嵌套的 XML 元素解组到字符串数组中?
短信预约 -IT技能 免费直播动态提醒
今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《如何将嵌套的 XML 元素解组到字符串数组中?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!
问题内容我的 xml 包含预定义元素的数组,但我无法选取该数组。 xml 结构如下:
<?xml version='1.0' encoding='utf-8'?>
<results preview='0'>
<meta>
<fieldorder>
<field>values(metric_name)</field>
</fieldorder>
</meta>
<result offset='0'>
<field k='values(metric_name)'>
<value><text>process.cpu.avg</text></value>
<value><text>process.cpu.last</text></value>
<value><text>process.cpu.max</text></value>
<value><text>process.cpu.min</text></value>
<value><text>process.disk.avg</text></value>
<value><text>process.disk.last</text></value>
<value><text>process.disk.max</text></value>
<value><text>process.disk.min</text></value>
<value><text>process.ram.avg</text></value>
<value><text>process.ram.last</text></value>
<value><text>process.ram.max</text></value>
<value><text>process.ram.min</text></value>
</field>
</result>
</results>
我尝试创建一个如下所示的结构:
type Metrics struct {
Value []string `xml:">text"`
}
但它在输出时给了我空数组。
解决方案
您可以使用以下结构模式来解析给定的 xml。
type Results struct {
Meta Meta `xml:"meta"`
Result Result `xml:"result"`
}
type Meta struct {
FieldOrder FieldOrder `xml:"fieldOrder"`
}
type FieldOrder struct {
Fields []string `xml:"field"`
}
type Result struct {
Fields []Field `xml:"field"`
}
type Field struct {
K string `xml:"k,attr"`
Values []string `xml:"value>text"`
}
工作示例:https://play.golang.org/p/H6EHl_1dPLg
本篇关于《如何将嵌套的 XML 元素解组到字符串数组中?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注编程网公众号!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341