为了账号安全,请及时绑定邮箱和手机立即绑定

接口和编码/xml 解组

接口和编码/xml 解组

Go
千巷猫影 2021-08-10 16:52:19
我有一个我正在反对的肥皂服务。soap API 的一部分用于返回查询结果,我希望提供用于解码信封的基本结构,同时允许开发人员填写 encoding/xml 将解码到的接口。type QueryEnvelope struct {    XMLName xml.Name   `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`    Body    *QueryBody `xml:"http://schemas.xmlsoap.org/soap/envelope/ Body"`}type QueryBody struct {    QueryResult *QueryResult `xml:"queryResponse>result"`}type QueryResult struct {    Done    bool    `xml:"done"`    Size    int     `xml:"size"`    Records Record `xml:"records"`}type Record interface {    UnmarshalXML(d *xml.Decoder, start xml.StartElement) error}是否可以注入这样的接口以进行解组,还是必须在 QueryEnvelope{} 级别接受该接口?理想情况下,客户端会像这样:type Record struct {     Id int `xml:"id"`,     Name stirng `xml:"name"`}func (r *Record) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {     // unmasrshal here, or best case I dont even need to implment UnmarsahlXML()!}res, err := Query("select id from table", Record{})这意味着他们不必重现 QueryEnvelope 结构(作为使用我正在创建的包的开发人员)
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信