XML est un format d'échange de données courant. En langage Go, il existe de nombreuses façons de manipuler XML. Voici comment utiliser XML dans Go.
Tout d'abord, vous devez importer la bibliothèque standardencoding/xml
dans le programme Go.encoding/xml
标准库。
import "encoding/xml"
在Go中,使用结构体来表示XML数据。这里以一个示例XML作为例子。
Harry Potter J.K. Rowling 2005 29.99 Learning XML Erik T. Ray 2003 39.95
可以创建以下Go结构体来表示它:
type Bookstore struct { XMLName xml.Name `xml:"bookstore"` Books []Book `xml:"book"` } type Book struct { XMLName xml.Name `xml:"book"` Category string `xml:"category,attr"` Title string `xml:"title"` Author string `xml:"author"` Year int `xml:"year"` Price float32 `xml:"price"` }
然后,可以使用xml.Unmarshal()
函数将XML数据解析到Go结构体中。
xml_data := []byte(``) var bookstore Bookstore err := xml.Unmarshal(xml_data, &bookstore) if err != nil { fmt.Println("error: ", err) return } fmt.Println(bookstore) Harry Potter J.K. Rowling 2005 29.99 Learning XML Erik T. Ray 2003 39.95
xml.Unmarshal()
将XML数据解析为结构体,并将结果存储在bookstore
变量中。
反过来,可以用xml.Marshal()
函数将结构体编组为XML数据。
bookstore := Bookstore { XMLName: xml.Name{Local: "bookstore"}, Books: []Book{ Book{ Category: "children", Title: "Harry Potter", Author: "J.K. Rowling", Year: 2005, Price: 29.99, }, Book{ Category: "web", Title: "Learning XML", Author: "Erik T. Ray", Year: 2003, Price: 39.95, }, }, } xml_data, err := xml.MarshalIndent(bookstore, "", " ") if err != nil { fmt.Println("error: ", err) } fmt.Printf("%s ", xml_data)
xml.MarshalIndent()
函数将bookstore
结构体编组为XML数据,并将结果存储在变量xml_data
中。第一个参数是要编组的结构体,第二个参数是在每一行前要用的缩进字符串,第三个参数是在每个元素之间使用的字符串。
在结构体中,可以使用XML名称(如
)和XML属性(如category
)作为结构体字段的标签。
type Book struct { XMLName xml.Name `xml:"book"` Category string `xml:"category,attr"` Title string `xml:"title"` Author string `xml:"author"` Year int `xml:"year"` Price int `xml:"price"` }
当解析XML时,结构体字段的值将根据XML数据自动填充。
使用以上步骤可以在Go中使用XML。首先需要导入encoding/xml
rrreee
xml.Unmarshal()
pour analyser le XML. données en Go dans la structure. rrreee
xml.Unmarshal()
analyse les données XML dans une structure et stocke le résultat dans la variable
bookstore
. 4. Marshall la structure en XMLÀ votre tour, vous pouvez utiliser la fonction
xml.Marshal()
pour marshaler la structure en données XML. rrreee La fonction
xml.MarshalIndent()
rassemble la structure
librairie
en données XML et stocke le résultat dans la variable
xml_data
. Le premier paramètre est la structure à regrouper, le deuxième paramètre est la chaîne en retrait à utiliser avant chaque ligne et le troisième paramètre est la chaîne à utiliser entre chaque élément. 5. Manipuler les éléments XMLDans la structure, vous pouvez utiliser des noms XML (tels que
) et des attributs XML (tels que
category
) comme structure. étiquette des champs. rrreeeLors de l'analyse XML, les valeurs des champs de structure seront automatiquement renseignées en fonction des données XML. 6. RésuméUtilisez les étapes ci-dessus pour utiliser XML dans Go. Tout d'abord, vous devez importer la bibliothèque
encoding/xml
, puis définir une structure pour représenter les données XML. Les données XML peuvent être analysées dans cette structure, ou cette structure peut être utilisée pour marshaler les données XML. Pour exploiter des éléments XML, vous devez utiliser le nom et les attributs de l'élément XML dans la balise de champ de structure.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!