Hi,
I think you have two options:
1. You can do an upgrade from XP to Vista then from Vista to Windows 7.
2. You can try Windows Easy transfer but it only migrates your program data meaning you still have to install all programs but after that you can have the same program settings.
"Program settings
Settings that keep your programs configured as you had them on your old computer. You must first install the programs on your new computer, because
Windows Easy Transfer does not transfer the programs themselves. Some programs might not work on this version of
Windows, including security programs, antivirus programs, firewall programs (your new computer should already have a firewall running to help ensure safety during the transfer), and programs with software drivers."
http://windows.microsoft.com/en-us/windows-vista/transferring-files-and-settings-frequently-asked-questions
http://windows.microsoft.com/en-us/windows7/products/features/windows-easy-transfer
To actually migrate all installed applications from XP to Windows 7 there is no free tool (at least that I know of) but there are other 3rd party solutions but like you would expect, it costs a few bucks.
Hope it helps.
http://mariusene.wordpress.com/