Menyahmarshaling XML Dikodkan dalam ISO-8859-1 Menggunakan Go
Fungsi Unmarshal yang popular dalam pakej xml Go boleh mencabar jika input XML anda tidak dikodkan dalam UTF-8. Untuk mengendalikan input sedemikian, Go memerlukan CharsetReader.
Di Mana Nak Cari CharsetReader?
Dalam versi terkini Go (2015 dan seterusnya), golang.org/x /net/html/charset package menyediakan fungsi yang diperlukan. Fungsi NewReaderLabel dalam pakej ini boleh melakukan penukaran yang diperlukan.
Contoh Kod
Coretan kod berikut menunjukkan cara menggunakan NewReaderLabel untuk menyahmarshal input XML yang dikodkan dalam ISO dengan betul -8859-1:
import ( "encoding/xml" "golang.org/x/net/html/charset" "bytes" ) var theXml = [...]byte{byte(0x3C), byte(0x3F), byte(0x78), byte(0x6D), /* ... */} reader := bytes.NewReader(theXml) decoder := xml.NewDecoder(reader) decoder.CharsetReader = charset.NewReaderLabel err := decoder.Decode(&parsed)
Dengan menggabungkan ini kod, Go boleh berjaya membongkar input XML yang dikodkan dalam ISO-8859-1.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Menyahmarshal ISO-8859-1 Encoded XML dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!