Golang marshal动态xml元素名称
发布时间:2020-12-16 19:20:57 所属栏目:大数据 来源:网络整理
导读:xml文件由两个元素组成.除了一个元素名称外,这些元素具有相同的结构.我试图为XMLName属性设置一个值,但这不起作用. XML: !-- first element --PERSON ELEM1.../ELEM1 ELEM2.../ELEM2 ELEM3.../ELEM3 ELEM4.../ELEM4/PERSON!-- second element --SENDER ELEM
xml文件由两个元素组成.除了一个元素名称外,这些元素具有相同的结构.我试图为XMLName属性设置一个值,但这不起作用.
XML: <!-- first element --> <PERSON> <ELEM1>...</ELEM1> <ELEM2>...</ELEM2> <ELEM3>...</ELEM3> <ELEM4>...</ELEM4> </PERSON> <!-- second element --> <SENDER> <ELEM1>...</ELEM1> <ELEM2>...</ELEM2> <ELEM3>...</ELEM3> <ELEM4>...</ELEM4> </SENDER> 是否可以定义一个结构,使元素名称是动态的? type Person struct { XMLName string `xml:"???"` // How make this dynamic? e1 string `xml:"ELEM1"` e2 string `xml:"ELEM2"` e3 string `xml:"ELEM3"` e4 string `xml:"ELEM4"` }
在
documentation中,它表示XMLName字段必须是xml.Name类型.
type Person struct { XMLName xml.Name E1 string `xml:"ELEM1"` // ... } 通过xml.Name的Local字段设置元素名称: person := Person { XMLName: xml.Name { Local: "Person" },// ... } (此外,必须导出E1-E4才能包含在XML输出中). 游乐场示例:http://play.golang.org/p/bzSutFF9Bo (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |