您的位置:宽带测速网 > 编程知识 > Go中如何遍历XML文档

Go中如何遍历XML文档

2025-06-23 19:36来源:互联网 [ ]

在Go中遍历XML文档通常使用标准库中的encoding/xml包。以下是一个简单的示例代码,演示如何遍历一个XML文档并打印出每个元素的名称和属性:

package mainimport ("encoding/xml""fmt""os")func main() {xmlData := []byte(`<bookstore><book category="cooking"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><book category="children"><title lang="en">Harry Potter</title><author>J.K. Rowling</author><year>2005</year><price>29.99</price></book></bookstore>`)type Book struct {Titlestring `xml:"title"`Author string `xml:"author"`Year int`xml:"year"`Pricestring `xml:"price"`}type Bookstore struct {Books []Book `xml:"book"`}var bookstore Bookstoreerr := xml.Unmarshal(xmlData, &bookstore)if err != nil {fmt.Println("Error unmarshaling XML:", err)return}for _, book := range bookstore.Books {fmt.Println("Title:", book.Title)fmt.Println("Author:", book.Author)fmt.Println("Year:", book.Year)fmt.Println("Price:", book.Price)}}

在这个示例中,我们定义了两个结构体BookBookstore来表示XML文档中的数据结构。然后使用xml.Unmarshal函数将XML数据解析成对应的结构体。最后通过遍历bookstore.Books来打印每个书籍的信息。

GO