当使用xml:",innerxml"
时,我看到不同的结果,这取决于被"内联"的类型
当使用string时,它可以正常工作,但将类型更改为int时,值将被包装在另一个标记中.
最小的例子是Go Playground.
我预计生成的XML的 struct 应该是相同的.
当使用xml:",innerxml"
时,我看到不同的结果,这取决于被"内联"的类型
当使用string时,它可以正常工作,但将类型更改为int时,值将被包装在另一个标记中.
最小的例子是Go Playground.
我预计生成的XML的 struct 应该是相同的.
只有当该字段的类型为string
或[]byte
时,您才能获得"所需"的输出.xml.Marshal()
没有正确地记录这一点,但xml.Unmarshal()
的记录确实提到了这一点:
Unmarshal使用以下规则将XML元素映射到 struct .在规则中,字段的标记是指与 struct 字段的标记中的键‘xml’相关联的值(请参见上面的示例).
- 如果 struct 有一个带有",innerxml"标记的[]byte或字符串类型的字段,则Unmarshal将在该字段的元素中累积嵌套的原始XML.其余规则仍然适用.