xml - Golang xml unmarshal:如果我们在嵌套结构中使用 Xml 名称元素,则只有根元素会被解组
问题描述
我们有一个如下所示的 Xml
<Test>
<Test1>
<Data>999</Data>
</Test1>
</Test>
用于解组的 Go 结构如下所示
type Root struct{
XMLName xml.Name
ChildElem Child
}
type Child struct{
XMLName xml.Name
Data string `xml:"Data"`
}
在编组分配值的结构时,我们得到了如上所述的预期 xml。然而,在将上述 xml解组到 Root 结构中时,只有根元素标记被解析,而嵌套元素保持为空。这是预期的行为吗?
游乐场链接:https: //play.golang.org/p/uUPO0gBNCp8
解决方案
试试这个:
type Root struct {
XMLName xml.Name
ChildElem Child `xml:"Test1"`
}
如果您没有使用 XML 元素的名称指定结构标记,则 xml 包将为其使用变量名称,在您的情况下为“ChildElem”,这不是您想要的。
推荐阅读
- tensorflow - tensorflow中无法获取数据集的shape属性值?
- c# - C# Split - 在列表上拆分不返回所有想要的字符串
- python - Flask Session 在 POST 请求之间不保留值
- php - 网络中的其他计算机无法访问Xampp网站
- python - 如何在 SWIG for Python 中创建时初始化 C 结构成员?
- javascript - React 状态在使用 useState 设置之前会被保存吗?
- java - 当我吃东西时,我的 Spigot Minecraft 插件不会说“yum”
- javascript - 如何仅更改包含对象的 React useState 中的一个值,并为其余的分配一个不同的值?
- c# - 通过 Excel 公式字符串读取 Excel 单元格值
- c# - 如何修复此按钮脚本?