What you need is called Cloning software. It can make an exact and complete copy of your old HDD to a new one. Usually it also will allow you to make the Partition (the area of the new HDD that will contain the cloned info) any size you like (up to full size of the new HDD), BUT by default it may plan to make the Destination Partition only the same size as the Source (your old HDD). So plan to NOT use all the defaults.
Several HDD makers have such tools available for free download on their websites, to induce you to do what you plan - buy one of their HDD's and upgrade your machine with more space. For example, Seagate has Disk Wizard. WD has Acronis True Image WD Edition. In each case, the software is customized so that it will only make a clone TO a HDD made by that company - to get you to buy their units, not someone else's. So, if you buy a Seagate HDD, get Disk Wizard from their website.
Make sure to read the user manual that comes in the download. These packages are VERY good and do LOTS of things besides cloning. Reading the manual first will help you recognize what options you can control (size of Partitions, bootable or not, File System type to install, types of format operation, etc.) and where they are in the menu system so you can take full control of the Cloning operation and get it set exactly as you like.
To use this software you must first Install it on your existing old HDD. Then you install the new HDD in your machine, too. IF necessary, make the BIOS adjustment I outline below.
Since you will NOT be changing any other components, the OS you have installed now does NOT need to be updated or changed. One thing you should watch out for, however. Win XP needs a little extra attention if it is using SATA HDD's. Technically it does not know how to use them without having a driver installed. But so many people installed SATA HDD's in machines and then installed XP on them, the BIOS makers build a helpful trick in. You should check how your machine is set now, in preparation for getting your new drive to work. NOTE that this is NOT necessary if your new HDD will be IDE. However, SATA units are better and faster IF you have SATA ports on your mobo to use.
So, IF you are buying a new IDE drive, SKIP THIS paragraph. You need to get into BIOS Setup. If you don't know how, it is done by holding down the correct key during the early boot process. Often that key is "Del", but your screen will have a prompt telling you how to enter Setup. When you get in there, look for the place where you configure your SATA ports. There is a place to Enable or Disable them. If you got a new SATA HDD, you will need to be sure the port is Enabled. Now very close to this you should see a line for SATA Port Mode. The choices usually include IDE (or PATA) Emulation, SATA, AHCI, or RAID. Look closely at how it is set now. IF your old HDD is an IDE unit, VERY likely you need to set this option to IDE (or PATA) Emulation. This makes the BIOS intervene and make the actual SATA HDD appear to Win XP as a plain old IDE drive that it fully understands with no added driver, and it all works just fine. However, IF your old HDD is SATA and IF this option already is set to SATA or to AHCI, then leave it alone. Save and Exit to get out of here, and your settings will be stored and used, and the machine will reboot.
Now that you're set you can run the cloning software to make the clone copy to the new HDD. When finished, shut down, disconnect power and disconnect your old HDD. IF you are replacing an IDE drive with another IDE drive, just swap the data cable from the old one to the new one, and make sure the new one's jumpers are set the same as the old one - Master or Slave. On the other hand, IF you are replacing SATA with SATA, swapping the data cable is still the way to go, but there's no jumper to set. Third option: you're replacing an IDE with a SATA, so you can't swap cables. (There is no jumper to set on a SATA drive - there is no Master or Slave for SATA.) In this case, when you power up and boot, go back into BIOS Setup right away and look for where you set the Boot Priority Sequence. You will have to adjust it so the new HDD is the one to boot from, since the old HDD won't be there any more. Save and Exit and it all should work just fine.