- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一个结构,其中一个 slice 是其成员之一:
type Package struct {
Name string
...
Files []File
}
type File struct {
Name string
...
}
我使用
encoding/xml
编码(marshal)此结构。这就是我得到的:
<Package>
<Name>example</Name>
<Files>
<Name>Example1</Name>
</Files>
<Files>
<Name>Example2</Name>
</Files>
</Package>
这不是我想要的行为。我想将其编码为以下格式:
<Package>
<Name>example</Name>
<Files>
<File>
<Name>Example1</Name>
</File>
<File>
<Name>Example2</Name>
</File>
</Files>
</Package>
我刚接触Golang,对它的 slice 和编码机制了解不多。尽管这听起来像一个愚蠢的问题,但我如何才能获得预期的(第二种)格式?
最佳答案
编码和解编规则在 encoding/xml
的相关文档中有明确规定。例如,关于 xml.Marshal
的部分说:
If a field uses a tag "a>b>c", then the element c will be nestedinside parent elements a and b. Fields that appear next to each otherthat name the same parent will be enclosed in one XML element.
type Package struct {
Name string
Files []File `xml:"Files>File"`
}
// this also works
type Package struct {
Name string
Files []File `xml:">File"`
}
https://play.golang.org/p/gg-6Tj3WNnV
关于xml - 转到XML编码(marshal): Unintended Output of Slice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64501657/
有一个结构,其中一个 slice 是其成员之一: type Package struct { Name string ... Files []File } type File
{strip} {/strip} 成为 这不是任何人想要的。 所以,问题是:有什么办法可以避免这种情况吗?设想的方法: 使用参数或其他智能函数用空格替换新行 添加未剥离/修剪的 protected
在这种情况下,我得到了一个“可能是意外的引用比较”: class Parent { class Child : IEquitable { private readonly in
我一直在关注 Apple 制作的官方 iOS 开发教程 ( located here )。这是一个新教程,创建于 2016 年 12 月,所以我还没有找到这个问题的任何答案。这是我坚持的部分: EXP
我正在尝试根据一个键数组对不同的项目数组进行排序。下面的简单代码代表了我更复杂的代码: int[] first = new int[] { 1, 9, 2, 3, 8, 4, 5 }; string[
我经常在我的 Node 日志中看到这种事情: 2 月 19 日 13:50:20 - 使用传输“flashsocket”初始化客户端 2 月 19 日 13:50:20 - 客户端 584666337
我正在尝试从备份数据库恢复一些数据。所有表都是 Innodb,我使用 PHP/mysqli 编写脚本。我正在尝试有或没有交易,但这没有什么区别。 因此,我以用户“root”身份打开数据库连接并执行以下
我编写了一个 Qt GUI,其中包含一些 QSpinBoxes 和 QDoubleSpinBoxes 等。一切都按预期工作,除了一件事:当我在 QSpinBoxes 中输入一个数字并通过按“Enter
我正在使用 Angular 拖放列表。在 Windows 8 上使用 IE 11 时,我注意到以下错误: 我必须双击才能开始输入 “x”(ms-clear)实际上没有做任何事情 我无法突出显示文本。
请参阅this article的“RMI注册表问题”段落首先了解 Java Update 1.6.0_29 的背景。 如果我理解正确(我是德国人),更新会在 rmiregistry 中引入一个错误,该
我是一名优秀的程序员,十分优秀!