Go での XML 要素名の動的定義
要素名を除いて同一構造の 2 つの要素を含む XML ファイルを考えてみましょう。 Go でこれらの要素を表すには、動的要素名を持つ構造体が必要です。
type Person struct { XMLName string `xml:"???` // How to make this dynamic? E1 string `xml:"ELEM1"` E2 string `xml:"ELEM2"` E3 string `xml:"ELEM3"` E4 string `xml:"ELEM4"` }
ここでは xml.Name 型を紹介します。その Local フィールドでは要素名の動的な設定が可能です:
type Person struct { XMLName xml.Name E1 string `xml:"ELEM1"` // ... }
実行時に要素名を割り当てることができます:
person := Person{ XMLName: xml.Name{Local: "Person"}, // ... }
構造体フィールド (E1 ~ E4) に注意してください。 XML 出力に含めるには、エクスポートする必要があります (大文字で始める)。
実際の例については、次を参照してください。遊び場:
http://play.golang.org/p/bzSutFF9Bo
以上がGo 構造体で XML 要素名を動的に設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。