Transferring files from old XP PC to new Win7 PC

Is there a way to transfer files, settings, programs, etc from an old xp hdd to a new win 7 hdd? I don't have the xp disc, nor the win 7 disc. I was hoping to just hook up the old hdd into the new pc. Will that work?

The old hdd is a sata, I dont have an external hdd. The files are pics, music, pdf's, assorted other stuff from years of use 300gb of stuff to transfer, and I dont want to buy an external hdd, or flash drives..I was just wondering if its possible to hook up the old hdd in the new machine and coppy/transfer the files over, or if there is a sata to usb cable that would work to make the old internal hdd an external one?

So when I plug it in to my new pc, do I need windows easy transfer on both hdd's? or will I be able to just copy files from the old one to the new one? or do I need windows easy transfer on just the new hdd?