我正在尝试将带有数组的 go 结构封送到xml中。在这个数组中,我需要为每个元素提供一个属性和一个值。我不需要将其放在父xml标记内。
我有下面的代码。
package main
import (
"encoding/xml"
"fmt"
"os"
)
func main() {
type Person struct {
XMLName xml.Name `xml:"person"`
Id int `xml:"id,attr"`
FirstName string
}
a := &Person{
Id: 13,
FirstName: "John",
}
b := &Person{
Id: 14,
FirstName: "Doe",
}
x := []*Person{}
x = append(x, a)
x = append(x, b)
enc := xml.NewEncoder(os.Stdout)
enc.Indent(" ", " ")
if err := enc.Encode(x); err != nil {
fmt.Printf("error: %v\n", err)
}
}
它产生以下输出。
<person id="13">
<FirstName>John</FirstName>
</person>
<person id="14">
<FirstName>Doe</FirstName>
</person>
但我需要按如下方式进行。
<person id="13">John</person>
<person id="14">Doe</person>
非常感谢对此的任何帮助。我可以用 go 来做这个吗?
九州编程
相关分类