Я пытаюсь реализовать формат XML под Go, который был изначально написан на Фортране.Формат уже указан, поэтому я не могу вносить изменения в стандарт.К сожалению, формат включает в себя данные, которые не заключены в тег XML, поэтому я хотел бы отменить автоматическое создание тегов, предоставляемое xml.Marshal.
Я исследовал все стандартные опции, связанные с маршаллингом, так какзадокументировано по адресу: https://golang.org/pkg/encoding/xml/
По умолчанию для маршаллинга будет использоваться имя структурной переменной, которое может быть переопределено определением xml:
.Насколько я могу судить, не существует определения, которое подавляет имя тега.
type SAO_FREQUENCY_LIST struct {
Type string `xml:",attr"`
SigFig int `xml:",attr"`
Units string `xml:",attr"`
Description string `xml:",attr"`
Frequencies string `xml:""`
}
Я хочу, чтобы вывод XML был следующим:
<FrequencyList Type="float" SigFig="5" Units="MHz" Description="Nominal Frequency">
3.7 3.8
</FrequencyList>"
По умолчанию xml.MarshalIndent (..) выход:
<FrequencyList Type="float" SigFig="5" Units="MHz" Description="”Nominal Frequency">
<Frequencies>3.7 3.8</Frequencies>
</FrequencyList>