I want to install a fresh Windows 7 but I don't want totally format the current drive with Windows XP since there are many other files but I don't have that many free space to move the stuff out. Is there a way to clean up the windows XP without formatting the drive?
It's not possible to do an upgrade installation from Windows XP to Windows 7, so formatting the drive and doing a clean install is actually necessary in your case, unfortunately.
What I would recommend is backing up any important files to a flash drive or portable hard drive, then install Windows 7 using a Custom Install option. You can follow the steps using Microsoft's guide here.
I suggest you to use the cloud services like SkyDrive (7GB Free) or Google Drive (15GB Free) or any of many others to save your files on.
Then format everything, make a clean install and download your files back to your PC
Save only your personal files and/or folders. Do not save programs and system data on cloud drives, as they will not work on a re-installed system.