Rumah >pembangunan bahagian belakang >Golang >Bagaimana Saya Boleh Menyahmarshal ISO-8859-1 Encoded XML dalam Go?

Bagaimana Saya Boleh Menyahmarshal ISO-8859-1 Encoded XML dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-12 19:18:11908semak imbas

How Can I Unmarshal ISO-8859-1 Encoded XML in Go?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn