Gunakan fungsi yang disediakan oleh pakej pengekodan/xml untuk pengekodan dan penyahkodan XML
Pengenalan:
Pengekodan dan penyahkodan ialah operasi yang sangat biasa semasa memproses data XML. Dalam bahasa Go, anda boleh menggunakan fungsi yang disediakan oleh pakej pengekodan/xml untuk melaksanakan operasi pengekodan dan penyahkodan XML. Artikel ini akan memperkenalkan cara menggunakan fungsi dalam pakej pengekodan/xml untuk pengekodan dan penyahkodan XML dan memberikan contoh kod yang sepadan.
Pengekodan XML:
Pengekodan XML ialah untuk menukar struktur atau jenis data dalam bahasa Go kepada data dalam format XML. Pakej pengekodan/xml menyediakan fungsi Marshal untuk melaksanakan operasi pengekodan XML. Prototaip fungsi Marshal adalah seperti berikut:
func Marshal(v antara muka{}) ([]bait, ralat)
Fungsi Marshal mengekod nilai v dalam XML dan mengembalikan data jenis []bait yang dikodkan. Berikut ialah contoh pengekodan XML:
pakej utama
import (
"encoding/xml" "fmt"
)
taip Person struct {
Name string `xml:"name"` Age int `xml:"age"`
}
func main() {
person := Person{ Name: "Alice", Age: 20, } xmlData, err := xml.Marshal(person) if err != nil { fmt.Println("XML encoding error:", err) return } fmt.Println(string(xmlData))
}
<
Dalam kod di atas, kami mentakrifkan struktur bernama Orang, yang mempunyai dua medan, iaitu Nama dan Umur. Dalam bidang struktur, teg xml:"tag"
digunakan, yang digunakan untuk menentukan nama elemen dalam XML. Dalam fungsi utama, kami mencipta contoh orang jenis Orang dan mengekodnya ke dalam data format XML. Akhir sekali, data []bait yang dikodkan ditukar kepada rentetan melalui fungsi fmt.Println dan dicetak keluar.
Penyahkod XML:
Penyahkod XML ialah untuk menghuraikan data format XML ke dalam struktur atau jenis data dalam bahasa Go. Pakej pengekodan/xml menyediakan fungsi Unmarshal untuk melaksanakan operasi penyahkodan XML. Prototaip fungsi Unmarshal adalah seperti berikut:
func Unmarshal(data []bait, antara muka v{}) ralat
Fungsi Unmarshal menerima dua parameter Parameter pertama ialah data XML yang akan dinyahkodkan, dan parameter kedua ialah nilai yang didekodkan Nilai pembolehubah. Berikut ialah contoh penyahkodan XML:
package main
import (
"encoding/xml" "fmt"
)
type Person struct {
Name string `xml:"name"` Age int `xml:"age"`
}
func main() {
xmlData := []byte("<Person><name>Alice</name><age>20</age></Person>") var person Person err := xml.Unmarshal(xmlData, &person) if err != nil { fmt.Println("XML decoding error:", err) return } fmt.Println(person)
}
:{Nautrreee
}
Ringkasan:
Atas ialah kandungan terperinci Pengekodan dan penyahkodan XML menggunakan fungsi yang disediakan oleh pakej pengekodan/xml. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!