私はGoでXMLを作成する方法を学んでいます。ここに私のコードだ:GOlangでXMLをマーシャリングする:フィールドが空です(APPENDは機能しません)
type Request struct {
XMLName xml.Name `xml:"request"`
Action string `xml:"action,attr"`
...
Point []point `xml:"point,omitempty"`
}
type point struct {
geo string `xml:"point"`
radius int `xml:"radius,attr"`
}
func main() {
v := &Request{Action: "get-objects"}
v.Point = append(v.Point, point{geo: "55.703038, 37.554457", radius: 10})
output, err := xml.MarshalIndent(v, " ", " ")
if err != nil {
fmt.Println("error: %v\n", err)
}
os.Stdout.Write([]byte(xml.Header))
os.Stdout.Write(output)
}
私は、出力は次のようになることを期待:
<?xml version="1.0" encoding="UTF-8"?>
<request action="get-objects">
<point radius=10>55.703038, 37.554457</point>
</request>
しかし、私は取得していことです:
<?xml version="1.0" encoding="UTF-8"?>
<request action="get-objects">
<point></point>
</request>
私は何をしないか、間違っているのでしょうか? "name、attr"というものは、他のすべてのもの(例えば、 "要求"フィールドの場合)には完璧に機能するため、見ることができます。おかげさまで
ありがとうございました!そして、他の間違いを指摘してくれてありがとう。 – yellalena