类库大魔王
类库大魔王 多年C++、Go项目经验,长期从事跨平台(Windows/macOS/iOS/Android)应用架构设计与开发。

Go语言Unmarshal GBK编码的XML


昨天在写微信公众号文章的爬虫,中间需要解析一段GBK编码的XML,结果发现Go语言自带的encoding/xml包默认是不支持除UTF-8以外其他编码的。在网上随便搜了搜,能看到代码的方法不是过时的就是不能work的,最后还是看到比较官方的一个包可以解决这个问题,代码如下:

1
2
3
4
5
6
7
8
import "code.google.com/p/go.net/html/charset"
 
ad := &models.ArticleDocument{}
d := xml.NewDecoder(bytes.NewReader([]byte(xmldoc)))
d.CharsetReader = func(s string, r io.Reader) (io.Reader, error) {
        return charset.NewReader(r, s)
    }
d.Decode(ad)

感觉本文不错,不妨小额鼓励我一下!
如果你有Visa、MasterCard之类的国际银行卡,也可以考虑以下选项:
如果你看不到评论框,说明Disqus被墙了。