Golang を使用した未知の量を持つ XML 属性のアンマーシャリング
Golang では、XML のアンマーシャリングには XML データを構造体に解析することが含まれ、これにより便利なデータ操作が可能になります。そして回収。ただし、特定のシナリオでは、属性の名前と値がインスタンスによって異なる場合があるため、予期しない XML 属性の処理が必要になります。
エンコーディング/xml パッケージは、xml:",any を介して動的属性を持つ XML 要素のアンマーシャリングをサポートします。 ,attr」注釈。この機能により、構造体内の xml.Attr のスライスへのすべての属性のコレクションが有効になります。
この機能を説明するには、次のコードを考えてみましょう。
package main import ( "encoding/xml" "fmt" ) func main() { var v struct { Attributes []xml.Attr `xml:",any,attr"` } data := `<TAG ATTR1="VALUE1" ATTR2="VALUE2" />` err := xml.Unmarshal([]byte(data), &v) if err != nil { panic(err) } fmt.Println(v.Attributes) }
このコードが実行されると、以下を出力します:
[{ATTR1 VALUE1} {ATTR2 VALUE2}]
属性スライスの各エントリは、その名前で構成される属性を表します (例: "ATTR1") と値 (例: "VALUE1")。
この機能強化により、開発者は未知の属性または動的な属性を含む XML ドキュメントを操作できるようになり、Go がさらに多用途な XML 処理ツールになります。
以上がGo でアンマーシャリング中に不明な XML 属性を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。