我正在尝试从RRD格式解组XML。
所以我创建了我的类型等等,我可以从中获取值。
但是XML格式<!-- 2017/01/01 -->
中有注释,我需要提取这个日期。有没有办法在GO中访问它?
感谢。
更新了问题:
好的,我做到了,但我想把评论分成数组。
例如,我有以下XML。
<database>
<!-- Random Info. -->
<row>10101</row>
<!-- Random Info2 . -->
<row>10102</row>
</database>
所以我有以下内容。
type Database struct {
Comment string `xml:",comment"`
Row []string `xml:"row"`
}
现在,当我打印行数据时,我将其作为数组获取,而注释是一个字符串。 我试图使它成为一个数组,但它抛出一个错误无法转换。 panic:reflect.Set:type [] uint8的值不能赋值为[] string
显然,我可以分割字符串并得到我想要的东西。但是在创建类型时有没有更快的方法呢?
答案 0 :(得分:7)
您是否尝试过https://golang.org/pkg/encoding/xml/#Unmarshal?
如果XML元素包含注释,则它们会累积在 第一个具有标记&#34;,注释&#34;的结构字段。结构域可以 有类型[]字节或字符串。如果没有这样的字段,评论 被丢弃了。
此处的使用示例:https://golang.org/src/encoding/xml/example_test.go
type Person struct {
XMLName xml.Name `xml:"person"`
...
Comment string `xml:",comment"`
}