docs: def to_xml(self):
          """
          Convert data to XML String.
          :return: Str of valid XML data
          """
          root = ET.Element("entry")
          for x in self.xml_tags:
              if getattr(self, x):
                  if x in ['episodes', 'scores', 'status', 'dates', 'storage', 'rewatched', 'flags', 'tags']:
                      if x == 'episodes':
                          if self.episodes.current:
                              temp = ET.SubElement(root, 'episode')
                              temp.text = str(self.episodes.current)
                      elif x == 'scores':
                          if self.scores.user:
                              temp = ET.SubElement(root, 'score')
                              temp.text = str(self.scores.user)
                      elif x == 'status':
                          if self.status.user:
                              temp = ET.SubElement(root, 'status')
                              temp.text = str(self.status.user)
                      elif x == 'dates':
                          if self.dates.user.start:
                              start = ET.SubElement(root, 'date_start')
                              start.text = format_date(self.dates.user.start)
                          if self.dates.user.end:
                              end = ET.SubElement(root, 'date_finish')
                              end.text = format_date(self.dates.user.end)
                      elif x == 'storage':
                          if self.storage.type:
                              stype = ET.SubElement(root, 'storage_type')
                              stype.text = str(self.storage.type)
                          if self.storage.value:
                              sval = ET.SubElement(root, 'storage_value')
                              sval.text = str(self.storage.value)
                      elif x == 'rewatched':
                          if self.rewatched.times:
                              rt = ET.SubElement(root, 'times_rewatched')
                              rt.text = str(self.rewatched.times)
                          if self.rewatched.value:
                              rv = ET.SubElement(root, 'rewatch_value')
                              rv.text = str(self.rewatched.value)
                      elif x == 'flags':
                          if self.flags.discussion:
                              df = ET.SubElement(root, 'enable_discussion')
                              df.text = '1' if self.flags.discussion else '0'
                          if self.flags.rewatching:
                              rf = ET.SubElement(root, 'enable_rewatching')
                              rf.text = '1' if self.flags.rewatching else '0'
                      else:
                          if self.tags:
                              temp = ET.SubElement(root, 'tags')
                              temp.text = ','.join(self.tags)
                  else:
                      temp = ET.SubElement(root, x)
                      temp.text = str(getattr(self, x))
          return '<?xml version="1.0" encoding="UTF-8"?>{}'.format(ET.tostring(root, encoding="unicode"))