ホームページ > バックエンド開発 > Golang > Go でアンマーシャリング中に不明な XML 属性を処理するにはどうすればよいですか?

Go でアンマーシャリング中に不明な XML 属性を処理するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-23 12:20:11
オリジナル
943 人が閲覧しました

How to Handle Unknown XML Attributes During Unmarshalling in Go?

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 サイトの他の関連記事を参照してください。

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