0
文字列のスライス["13.64.196.27/32"、 "13.64.198.19/32"]に非整列化するXMLデータがありますが、エラー "undefined:Product"がすべての冒頭に表示されます。私はProduct構造体を定義しています...それが私に何を望んでいるかわかりません。アンマーシャリングする方法xml?
func main() {
data := `<products updated="9/1/2017">
<product name="o365">
<addresslist type="IPv4">
<address>13.64.196.27/32</address>
<address>13.64.198.19/32</address>
</addresslist>
</product>
</products>`
type Azure struct {
XMLName xml.Name `xml:"products"`
Products []Product `xml:"product"`
}
type Product struct {
XMLName xml.Name `xml:"product"`
Name string `xml:"name,attr"`
List []List `xml:"addresslist"`
}
type List struct {
XMLName xml.Name `xml:"addresslist"`
Type string `xml:"type,attr"`
Address []string `xml:"addressList>address"`
}
var products Azure
xml.Unmarshal([]byte(data), &products)
fmt.PrintLn(products.List.Address)
}
のthnxたくさん、あなたはそれが印刷し、なぜ知っている空のスライス{{製品} [{{製品} O365 [{{アドレスリスト} IPv4の[ ]}]}]}?私は "13.64.196.27/32"、 "13.64.198.19/32"の内部にあると期待しています – irom
'関数の実装から変数を定義する必要があります' - >関数内で名前付きの型を定義することは有効です。特に、コード内の他の場所でこれらの型を必要としないことがあるためです。 – Carpetsmoker
@Carpetsmokerそれは良い考えです。私はもっと頻繁にそれをする必要があります。私のコードの中には、SQLから返された部分的なビューを散らばっているものがあります。つまり、他の場所で同じ構造体Nameを使用しようとしないようにしてください。そうしないと、実際に混乱することになります。 – RayfenWindspear