Go中如何遍历XML文档

   2024-10-25 3560
核心提示:在Go中遍历XML文档通常使用标准库中的encoding/xml包。以下是一个简单的示例代码,演示如何遍历一个XML文档并打印出每个元素的名

在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 {Title  string `xml:"title"`Author string `xml:"author"`Year   int    `xml:"year"`Price  string `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来打印每个书籍的信息。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号