Go中如何遍历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 {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)}}
在这个示例中,我们定义了两个结构体Book
和Bookstore
来表示XML文档中的数据结构。然后使用xml.Unmarshal
函数将XML数据解析成对应的结构体。最后通过遍历bookstore.Books
来打印每个书籍的信息。
下一篇:c++多个变量赋值要注意哪些事项
go
webacc.exe是什么文件?webacc.exe是不是病毒
WINSYS.vbs是什么文件?WINSYS.vbs是不是病毒
winssh.exe是什么文件?winssh.exe是不是病毒
wt.exe是什么文件?wt.exe是不是病毒
winsysetm.exe是什么文件?winsysetm.exe是不是病毒
winstrve.exe是什么文件?winstrve.exe是不是病毒
winsysupd7.exe是什么文件?winsysupd7.exe是不是病毒
winsysupd.exe是什么文件?winsysupd.exe是不是病毒
winsysupd2.exe是什么文件?winsysupd2.exe是不是病毒
winsysupd8.exe是什么文件?winsysupd8.exe是不是病毒