Heim >Backend-Entwicklung >Golang >Wie kann ich ISO-8859-1-codiertes XML in Go entmarshalieren?

Wie kann ich ISO-8859-1-codiertes XML in Go entmarshalieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-12 19:18:11851Durchsuche

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

Unmarshaling von in ISO-8859-1 codiertem XML mit Go

Die beliebte Unmarshal-Funktion im XML-Paket von Go kann bei Ihrer XML-Eingabe eine Herausforderung darstellen ist nicht in UTF-8 kodiert. Um solche Eingaben verarbeiten zu können, benötigt Go einen CharsetReader.

Wo finde ich einen CharsetReader?

In neueren Versionen von Go (ab 2015) ist golang.org/x Das Paket /net/html/charset stellt die erforderliche Funktionalität bereit. Die NewReaderLabel-Funktion in diesem Paket kann die erforderliche Konvertierung durchführen.

Codebeispiel

Der folgende Codeausschnitt zeigt, wie Sie NewReaderLabel verwenden, um eine in ISO codierte XML-Eingabe korrekt zu entmarshalieren -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)

Durch die Einbindung dieses Codes kann Go erfolgreich sein Unmarshalieren von XML-Eingaben, die in ISO-8859-1 codiert sind.

Das obige ist der detaillierte Inhalt vonWie kann ich ISO-8859-1-codiertes XML in Go entmarshalieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn