Мне нужно вывести файл XML, и я построил несколько структур, которые представляют его. В качестве базового примера скажем так:
type Parent struct {
XMLName xml.Name `xml:"parent"`
Name string `xml:"name,omitempty"`
Age int64 `xml:"age,omitempty"`
Child Child `xml:"child,omitempty`
}
type Child struct {
XMLName xml.Name `xml:"child,omitempty"`
Name string `xml:"name,omitempty"`
Gender string `xml:"gender,omitempty"`
Thoughts string `xml:",innerxml,omitempty"`
}
Я ожидаю, что когда я создаю Parent
безопределение дочернего элемента, а затем его маршалирование в файл XML ...
parent := Parent{
Name: "Beatrice",
Age: "23",
}
_ = xml.MarshalIndent(parent, "", " ")
... что я должен получить файл XML, не содержащий тега child
:
<parent>
<name>Beatrice</name>
<age>23</age>
</parent>
Вместо этого я получаю следующее:
<parent>
<name>Beatrice</name>
<age>23</age>
<child></child>
</parent>
Почему там есть пустой тег <child></child>
и как я могу от него избавиться?