当需要在Go中解析XML时,可以使用标准库encoding/xml。以下是一个简单的例子:
package main
import (
"encoding/xml"
"fmt"
)
type Person struct {
XMLName xml.Name `xml:"person"`
Name string `xml:"name"`
Age int `xml:"age"`
}
func main() {
xmlData := `
<person>
<name>John Doe</name>
<age>30</age>
</person>
`
var person Person
err := xml.Unmarshal([]byte(xmlData), &person)
if err != nil {
panic(err)
}
fmt.Printf("Name: %s, Age: %d", person.Name, person.Age)
}
在这个例子中,我们定义了一个名为Person的结构体,并使用xml标记来指定每个字段对应的XML元素名称。然后,我们将XML数据传递给xml.Unmarshal函数,并提供一个指向Person实例的指针作为第二个参数。
如果没有发生任何错误,则可以访问Person实例的字段以获取XML数据。