Viv*_*ivi 1 xml go xml-parsing
以下 XML 是一个具有嵌套字段(标题、作者等)和文本(Blah Blah...)的元素示例:
<?xml version="1.0" encoding="UTF-8"?>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
Blah Blah Blah Bleh Blah
</book>
Run Code Online (Sandbox Code Playgroud)
我已经编写了此结构来解码此 XML,但我不知道在这种情况下应该使用哪个结构标记。我在文档中搜索但一无所获。
type Book struct{
t string `xml:"book>title"`
p string `xml:"book>price"`
y string `xml:"book>year"`
a string `xml:"book>author"`
blah string ???????
}
Run Code Online (Sandbox Code Playgroud)
根据文档:
如果 XML 元素包含字符数据,则该数据将累积在具有标记“,chardata”的第一个结构字段中。结构字段的类型可以是 []byte 或 string。如果不存在该字段,则丢弃该字符数据。
因此,您可以使用这样的结构对其进行解码:
type Book struct {
Title string `xml:"title"`
Price string `xml:"price"`
Year string `xml:"year"`
Author string `xml:"author"`
Body string `xml:",chardata"`
}
Run Code Online (Sandbox Code Playgroud)
(请注意,您要解组到的字段必须是导出的,即必须以大写字母开头,否则它们无法被解组到。)
您可以在此处查看示例:https ://play.golang.org/p/OlwSqnHsT7