我正在解析 XML,并且最多在文档的每一层,都有一个description
.
这是一个玩具示例:
<obj>
<description>outer object</description>
<subobjA>
<description>first kind of subobject</description>
<foo>some goop</foo>
</subobjA>
<subobjB>
<description>second kind of subobject</description>
<bar>some other goop</bar>
</subobjB>
</obj>
这意味着涉及的每个结构都有一个相同的Description
成员,具有相同的 tag `xml:"description,omitempty"`
。
这是功能代码:http ://play.golang.org/p/1-co6Qcm8d
我宁愿描述标签是干燥的。显而易见的事情是:
type Description string `xml:"description,omitempty"`
然后Description
始终使用该类型。但是,只有结构成员可以有标签。关于我想写的内容,请参见http://play.golang.org/p/p83UrhrN4u ;它不编译。
可以创建一个Description
结构并重复嵌入它,但这会在访问时增加一层间接性。
还有其他方法可以解决这个问题吗?