def toXml(self, xparent=None):
        """
        Converts the data for this profile into an XML blob.
        
        :return     <xml.etree.ElementTree.Element>
        """
        if xparent is not None:
            xprofile = ElementTree.SubElement(xparent, 'profile')
        else:
            xprofile = ElementTree.Element('profile')
        
        xprofile.set('version', '2')
        xprofile.set('name', self.name())
        xprofile.set('profile_version', '{0:0.1f}'.format(self.version()))
        
        icon = self.icon()
        if not icon.isNull():
            data = projexui.storePixmap(self.icon().pixmap(48, 48))
            xico = ElementTree.SubElement(xprofile, 'icon')
            xico.text = data
        
        xdata = ElementTree.SubElement(xprofile, 'data')
        self._customData.toXml(xdata)
        
        xdesc = ElementTree.SubElement(xprofile, 'desc')
        xdesc.text = self.description()
        
        if self._xmlElement is not None:
            xlayout = copy.deepcopy(self._xmlElement)
            xlayout.tag = 'layout'
            xprofile.append(xlayout)
        
        return xprofile