Démarshalisation du XML codé en ISO-8859-1 à l'aide de Go
La fonction Unmarshal populaire du package XML de Go peut être difficile si votre entrée XML n'est pas codé en UTF-8. Pour gérer de telles entrées, Go nécessite un CharsetReader.
Où trouver un CharsetReader ?
Dans les versions récentes de Go (à partir de 2015), le site golang.org/x Le package /net/html/charset fournit les fonctionnalités nécessaires. La fonction NewReaderLabel de ce package peut effectuer la conversion nécessaire.
Exemple de code
L'extrait de code suivant montre comment utiliser NewReaderLabel pour désorganiser correctement une entrée XML codée en ISO -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)
En incorporant ce code, Go peut réussir désorganiser les entrées XML codées en ISO-8859-1.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!