MST

星途 面试题库

面试题:Go中xml包解析嵌套结构的方法

假设你有一个复杂的XML结构,其中包含多层嵌套的标签。请用Go的encoding/xml包编写代码,将以下XML片段解析为Go结构体。<root><parent><child>content</child></parent></root> 要求清晰展示结构体的定义以及解析过程。
35.9万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
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)
}