package main
import (
"encoding/xml"
"fmt"
)
// Root 定义根结构体
type Root struct {
XMLName xml.Name `xml:"root"`
Parent Parent `xml:"parent"`
}
// Parent 定义父结构体
type Parent struct {
XMLName xml.Name `xml:"parent"`
Child Child `xml:"child"`
}
// Child 定义子结构体
type Child struct {
XMLName xml.Name `xml:"child"`
Content string `xml:",chardata"`
}
func main() {
xmlData := `<root><parent><child>content</child></parent></root>`
var root Root
err := xml.Unmarshal([]byte(xmlData), &root)
if err != nil {
fmt.Printf("解析XML失败: %v", err)
return
}
fmt.Printf("解析结果: %+v\n", root)
}