使用 Go 生成 XML 文件时,如何创建 doctype 声明?

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 解析器将如何处理您想要解组为一组结构的文本块中的文档类型?忽略它?


温温酱
浏览 258回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go