给定一个类似于以下的 xml block :
<data>
<entry>
... several nested elements
</entry>
<entry>
... more nested elements
</entry>
</data>
我如何遍历每个 <entry>
文档中的元素并将其放入结构中以在移动到下一个条目之前对其执行一些操作?
我已经能够像上面那样从一个 XML block 中解析数据并将其存储到结构中,其中只有一个 <entry>
。元素存在。也就是说,我能够成功地将这样的东西存储到一个结构中:
<entry>
... several nested elements
</entry>
最佳答案
解析 xml 文件直到到达条目元素是一种方法:
xmlFile, err := os.Open(filename)
if err != nil {
log.Fatal(err)
}
defer xmlFile.Close()
decoder := xml.NewDecoder(xmlFile)
total := 0
for {
token, _ := decoder.Token()
if token == nil {
break
}
switch startElement := token.(type) {
case xml.StartElement:
if startElement.Name.Local == "entry" {
// do what you need to do for each entry below
}
}
}
关于xml - 在go中遍历xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12084042/