当使用xml:",innerxml"时,我看到不同的结果,这取决于被"内联"的类型

当使用string时,它可以正常工作,但将类型更改为int时,值将被包装在另一个标记中.

最小的例子是Go Playground.

我预计生成的XML的 struct 应该是相同的.

推荐答案

只有当该字段的类型为string[]byte时,您才能获得"所需"的输出.xml.Marshal()没有正确地记录这一点,但xml.Unmarshal()的记录确实提到了这一点:

Unmarshal使用以下规则将XML元素映射到 struct .在规则中,字段的标记是指与 struct 字段的标记中的键‘xml’相关联的值(请参见上面的示例).

  • 如果 struct 有一个带有",innerxml"标记的[]byte或字符串类型的字段,则Unmarshal将在该字段的元素中累积嵌套的原始XML.其余规则仍然适用.

Go相关问答推荐

SEARCH On Conflict Clause不考虑乐观锁定版本

Zitadel示例Go Webapp加密密钥

CGO Linux到Windows交叉编译中的未知类型名称

在Uber FX中实现后台进程正常关闭的正确方式是什么?

Golang使用Run()执行的命令没有返回

Golang在不写入磁盘的情况下为jpeg图像生成一致的哈希

Go 中的sync.Cond 与 Wait 方法

在 go 中,将接收器 struct 从值更改为指针是否向后兼容?

使用Goldmark在golang中添加ChildNode会导致堆栈溢出

在 Windows 11 上运行 go mod tidy 时的 gitlab 权限问题

GOLANG:为什么 SetDeadline/SetReadDeadline/SetWriteDeadline 在使用 os.File.Fd() 时对文件不起作用?

在 Gorm 的 AfterFind() 钩子中获取智能 Select struct 的值

使用 AppID 在 Windows 中启动应用程序并获取 pid

GoReleaser 和 ssh-agent Github 操作:为什么无法读取用户名...终端提示已禁用?

Golang - 无法从 pipped Windows 命令中获取结果

正则表达式处理数字签名的多个条目

从 map 返回空数组而不是空字符串数组

Go 错误:Is() 和 As() 声称是递归的,是否有任何类型实现错误接口并支持这种递归 - 无错误?

手动下载并放置一个 golang mod 文件

AWS EKS 上的 Golang REST API 部署因 CrashLoopBackOff 而失败