解组XML注释

时间:2017-11-06 13:33:01

标签: xml go comments

我正在尝试从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

显然,我可以分割字符串并得到我想要的东西。但是在创建类型时有没有更快的方法呢?

1 个答案:

答案 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"`
}