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!