1 回答

TA貢獻1810條經驗 獲得超5個贊
把>.后mainCarriage場的標簽,以表明你希望把字段的內容里面mainCarriage的標簽。將Sea字段名稱更改XMLName為 marshaller 的要求。
package main
import (
"encoding/xml"
"fmt"
"log"
)
type Carriage struct {
MainCarriage interface{} `xml:"mainCarriage>."`
}
type SeaCarriage struct {
XMLName xml.Name `xml:"http://www.example.com/XMLSchema/standard/2012 sea"`
LoadFactor float64 `xml:"loadFactor,attr"`
SeaCargoType string `xml:"seaCargoType,attr"`
}
type RoadCarriage struct {
Road xml.Name `xml:"http://www.example.com/XMLSchema/standard/2012 road"`
}
func main() {
fr := Carriage{
MainCarriage: SeaCarriage{
LoadFactor: 70,
SeaCargoType: "Container",
},
}
xmlBlob, err := xml.MarshalIndent(&fr, "", "\t")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(xmlBlob))
}
- 1 回答
- 0 關注
- 192 瀏覽
添加回答
舉報