ホームページ >バックエンド開発 >Golang >Go で動的 XML 要素名をマーシャリングするにはどうすればよいですか?

Go で動的 XML 要素名をマーシャリングするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-26 17:23:09286ブラウズ

How Can I Marshal Dynamic XML Element Names in Go?

Golang での動的 XML 要素名のマーシャリング

問題

XML ファイルには、構造は似ているが名前が異なる複数の要素 (PERSON や PERSON など) が含まれています。送信者)。目標は、動的な要素名を許可する構造体を定義することです。

解決策

最初に XMLName プロパティを使用して要素名を設定しようとして失敗しましたが、達成することは可能です。これは、次の戦略を活用することで実現できます。

  • XMLName には xml.Name タイプを使用します。ドキュメントによると、XMLName フィールドにはxml.Name type.
type Person struct {
    XMLName xml.Name
    E1 string `xml:"ELEM1"`
    // ...
}
  • xml.Name.Local を通じて要素名を動的に設定する: 動的要素名を割り当てるには、xml.Name.
person := Person { 
    XMLName: xml.Name { Local: "Person" },
    // ...
}
    XML を含めるためにエクスポートされたフィールド: 要素を表すフィールドが(例: この例では E1) は大文字で始まるようにエクスポートされます。これにより、それらを XML 出力に含めることができます。

完全な実装については、次のプレイグラウンドの例を参照してください: http://play.golang.org/p/ bzSutFF9Bo.

以上がGo で動的 XML 要素名をマーシャリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。