Golang DRY用于嵌套结构

I have a BaseEntity struct and one method with *BaseEntity receiver that parses xml from file

type BaseEntity struct {
   FilePath   string
   Collection string
}

func (this *BaseEntity) Parse() *[]byte {
    xmlFile, err := ioutil.ReadFile(this.FilePath)
    if err != nil {
       fmt.Println("Error opening file:", err)
       return nil
    }
    return &xmlFile
}

I also have several structs where BaseEntity is embedded, for eg. Users, Posts, Comments, Tags ... etc

type Users struct {
    Data []User `xml:"row"`
    BaseEntity
}
type User struct {
    WebsiteUrl      string `xml:"WebsiteUrl,attr"`
    UpVotes         string `xml:"UpVotes,attr"`
    Id              string `xml:"Id,attr"`
    Age             string `xml:"Age,attr"`
    DisplayName     string `xml:"DisplayName,attr"`
    AboutMe         string `xml:"AboutMe,attr"`
    Reputation      string `xml:"Reputation,attr"`
    LastAccessDate  string `xml:"LastAccessDate,attr"`
    DownVotes       string `xml:"DownVotes,attr"`
    AccountId       string `xml:"AccountId,attr"`
    Location        string `xml:"Location,attr"`
    Views           string `xml:"Views,attr"`
    CreationDate    string `xml:"CreationDate,attr"`
    ProfileImageUrl string `xml:"ProfileImageUrl,attr"`
}

func (this *Users) LoadDataToDB() {

    file := this.Parse()
    xml.Unmarshal(*file, &this)

    // Init db
    db := database.MgoDb{}
    db.Init()
    defer db.Close()

    for _, row := range this.Data {
        err := db.C(this.Collection).Insert(&row)
        if err != nil {
            fmt.Println(err)
        }
    }
}

And for each of these structs I need to create a method LoadDataToDB that loads data in db and has some code.

This method can't have *BaseEntity receiver because I can't get this.Data in base struct and I can't get this struct from parameters because it always a different struct.

How to DRY and move this repeating method from every embedded struct to one?