Go 的xml包非常出色,并且使处理 XML 变得非常容易。有一件事我不知道该怎么做:从本机结构创建 XML 文档时,如何指定文档类型?
例如,这些结构:
type Person struct {
XMLName xml.Name `xml:"person"`
FirstName string `xml:"firstName"`
MiddleName string `xml:"middleName"`
LastName string `xml:"lastName"`
Age int64 `xml:"age"`
Skills []Skill `xml:"skills"`
}
type Skill struct {
XMLName xml.Name `xml:"skill"`
Name string `xml:"skillName"`
YearsPracticed int64 `xml:"practice"`
}
将生成类似这样的 XML:
<person>
<firstName>Bob</firstName>
<middleName></middleName>
<lastName>Jones</middleName>
<age>23</age>
<skills>
<skill>
<skillName>Cooking</skillName>
<practice>3</practice>
</skill>
<skill>
<skillName>Basketball</skillName>
<practice>4</practice>
</skill>
</skills>
</person>
这很好,但我该怎么做才能得到这个:
<?xml version="1.0" encoding="UTF-8"?>
<person>
<firstName>Bob</firstName>
<middleName></middleName>
...
这几乎看起来太简单了,但这是做一个字符串追加的问题吗?
而且,反过来说,Go 的 XML 解析器将如何处理您想要解组为一组结构的文本块中的文档类型?忽略它?
相关分类