Go 自动生成标记的XML抑制?
我试图在Go下实现一种XML格式,它最初是用Fortran编写的。格式已经指定,所以我不能随意更改标准。不幸的是,该格式包含的数据没有包含在XML标记中,因此我想禁止XML.Marshal提供的自动标记创建 我已经调查了与编组相关的所有标准选项,记录在: 默认情况下,编组将使用结构变量名称,该名称可由Go 自动生成标记的XML抑制?,go,Go,我试图在Go下实现一种XML格式,它最初是用Fortran编写的。格式已经指定,所以我不能随意更改标准。不幸的是,该格式包含的数据没有包含在XML标记中,因此我想禁止XML.Marshal提供的自动标记创建 我已经调查了与编组相关的所有标准选项,记录在: 默认情况下,编组将使用结构变量名称,该名称可由xml:定义覆盖。据我所知,没有任何定义禁止标记名 type SAO_FREQUENCY_LIST struct { Type string `xml:",attr"` Si
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>"
3.7 3.8
"
默认情况下,xml.marshallindent(..)生成:
3.7 3.8
您可以使用,chardata
修饰符来指示应将结构成员的值用作XML元素的字符数据。例如:
type FrequencyList struct {
...
Frequencies string `xml:",chardata"`
}
您可以在此处使用此更改尝试一个示例:
type FrequencyList struct {
...
Frequencies string `xml:",chardata"`
}