在 Go 中解码使用 ISO-8859-1 编码的 XML 输入
解析非 UTF-8 编码的 XML 输入时, xml 包中的 Unmarshal 函数可能需要使用CharsetReader。
定位 CharsetReader
CharsetReader 可以通过 Go 标准库提供的 charset 包获取。具体来说,以下代码演示了如何使用 NewReaderLabel 函数创建 CharsetReader:
import ( "bytes" "encoding/xml" "golang.org/x/net/html/charset" ) reader := bytes.NewReader(theXml) decoder := xml.NewDecoder(reader) decoder.CharsetReader = charset.NewReaderLabel
此代码使用 bytes.NewReader 函数初始化读取器,然后使用 xml.NewDecoder 实例化解码器。最后,解码器的 CharsetReader 属性设置为 charset.NewReaderLabel,允许解码器处理 ISO-8859-1 编码的 XML 输入。
以上是如何在 Go 中处理 ISO-8859-1 编码的 XML?的详细内容。更多信息请关注PHP中文网其他相关文章!