-2
我是新來的,試圖讓下面一段代碼無法運行。看起來我沒有正確編碼結構的結構部分。幫幫我!從結構中編碼xml
package main
import (
"encoding/xml"
"fmt"
"os"
)
func main() {
type Person struct {
Email string `xml:"email"`
Phone string `xml:"phone"`
}
type Host struct {
Hostname string `xml:"hostname"`
Address string `xml:"address"`
}
type Asset struct {
person Person
host Host
}
p := &Person{Email: "[email protected]", Phone: "1111"}
h := &Host{Hostname: "boxen", Address: "1 Place St"}
a := &Asset{person: *p, host: *h}
enc := xml.NewEncoder(os.Stdout)
enc.Indent(" ", " ")
if err := enc.Encode(p); err != nil {
fmt.Printf("error: %v\n", err)
}
if err := enc.Encode(h); err != nil {
fmt.Printf("error: %v\n", err)
}
if err := enc.Encode(a); err != nil {
fmt.Printf("error: %v\n", err)
}
}
預期輸出。我目前得到的是一個空的資產元素。
<Asset>
<Person>
<email>[email protected]</email>
<phone>1111</phone>
</Person>
<Host>
<hostname>boxen</hostname>
<address>1 Place St</address>
</Host>
</Asset>
你能更具體?它不起作用的是什麼,你想要它做什麼,它實際上做了什麼? – Adrian
我是第二個@Adrian說的,而且還要做任何編碼/解碼你必須導出你的領域,資產沒有。 – mkopriva