我试图解组xml并从中提取特定节点,这可能在几个不同的级别。 例如,这样的Xml有效:
<People>
<Person>
<FullName>Jerome Anthony</FullName>
</Person>
<a>
<Person>
<FullName>Christina</FullName>
</Person>
</a>
</People>
我想从这个xml中提取所有FullName,无论它们的嵌套级别如何。 我尝试过的示例代码无效:
type People struct {
Names []string `xml:"FullName"`
}
v := People{Names: []string{}}
err := xml.Unmarshal([]byte(data), &v)
if err != nil {
fmt.Printf("error: %v", err)
return
}
fmt.Printf("Names of people: %q", v)
备注:这是解组字符串的一个简单示例,实际上我也希望解组复杂的结构。
答案 0 :(得分:0)
在我看来,人们没有名为FullName的孩子。然而,它有一个名叫&#34; a&#34;有一个名为FullName的孩子。
文档中有一个正常的工作示例:https://golang.org/pkg/encoding/xml/#example_Unmarshal。