我应该能够定义一个包含* string的结构,并使用它来解组innerxml内容。
请参见此处的示例https://play.golang.org/p/oaGu0rKYNgi
我希望Struct变量Containment指向
<top xmlns="http://example.com/schema/1.2/config"/>
相反,它为零。
我在src / encoding / xml / marshal_test.go中看到了类似的示例结构
type IndirInnerXML struct {
T1 T1
InnerXML *string `xml:",innerxml"`
T2 T2
}
非常感谢任何帮助。
答案 0 :(得分:0)
您引用的测试用于Marshal
,而不是Unmarshal
。对于Unmarshal,没有针对*string
的innerxml测试;有证据证明它不能与[]string
一起使用,并且可以与[]byte
和string
一起使用,仅此而已。根据{{3}}:
如果该结构的字段类型为
[]byte
或string
,且标签为",innerxml"
,则Unmarshal会在该字段的元素内嵌套原始XML。其余规则仍然适用。
它支持[]byte
和string
专有用于解组内部XML。
对于Go维护者来说,是否应支持*string
是一个问题。