ホームページ > バックエンド開発 > Golang > Go で ISO-8859-1 でエンコードされた XML をアンマーシャルするにはどうすればよいですか?

Go で ISO-8859-1 でエンコードされた XML をアンマーシャルするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-12 19:18:11
オリジナル
845 人が閲覧しました

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

Go を使用した ISO-8859-1 でエンコードされた XML のアンマーシャリング

Go の xml パッケージにある人気のある Unmarshal 関数は、XML 入力の場合には困難になる可能性があります。 UTF-8 でエンコードされていません。このような入力を処理するには、Go には CharsetReader が必要です。

CharsetReader はどこで見つけられますか?

Go の最近のバージョン (2015 年以降) では、golang.org/x /net/html/charset パッケージは必要な機能を提供します。このパッケージ内の NewReaderLabel 関数は、必要な変換を実行できます。

コード例

次のコード スニペットは、NewReaderLabel を使用して、ISO でエンコードされた XML 入力を正しくアンマーシャリングする方法を示しています。 -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)
ログイン後にコピー

このコードを組み込むことで、Go は正常に動作しますISO-8859-1.

でエンコードされた XML 入力をアンマーシャルします。

以上がGo で ISO-8859-1 でエンコードされた XML をアンマーシャルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート