使用Go读取XML元素的内部文本可以使用标准库中的encoding/xml
包来实现。以下是一个简单的示例代码:
package main
import (
"encoding/xml"
"fmt"
"os"
)
type Note struct {
XMLName xml.Name `xml:"note"`
To string `xml:"to"`
From string `xml:"from"`
Heading string `xml:"heading"`
Body string `xml:"body"`
}
func main() {
xmlFile, err := os.Open("example.xml")
if err != nil {
fmt.Println("Error opening file:", err)
return
}
defer xmlFile.Close()
var note Note
decoder := xml.NewDecoder(xmlFile)
err = decoder.Decode(¬e)
if err != nil {
fmt.Println("Error decoding XML:", err)
return
}
fmt.Printf("To: %s\n", note.To)
fmt.Printf("From: %s\n", note.From)
fmt.Printf("Heading: %s\n", note.Heading)
fmt.Printf("Body: %s\n", note.Body)
}
在这个示例中,我们定义了一个Note
结构体,它包含了XML元素的内部文本。然后,我们使用xml.NewDecoder
函数创建了一个解码器,并使用decoder.Decode
方法将XML数据解码到Note
结构体中。最后,我们打印出了Note
结构体中的各个字段。
需要注意的是,这个示例中的XML文件名为example.xml
,需要根据实际情况进行修改。
领取专属 10元无门槛券
手把手带您无忧上云