Something to think about--when Microsoft talks about the minimum hardware specs to run Win 7 (or 8), the
minimum machine will run the operating system but you may not be happy with how your software runs in the resources that are left. If you don't use it for much but surfing the web, doing email, and other things that don't require much in the way of resources, you will probably be fine, particularly if you don't do two things at once, like working on documents while you surf the web in another window. Beyond just the processor and RAM specs, check out whether any of the other devices or peripherals are known to have compatibility problems with Win 7. If, in addition to the cost of the upgrade, you find that you have to start replacing or upgrading things, the upgrade will be pouring good money after bad on a machine that is probably at the end of its hardware design life. As components start to go due to age, you will be buying a new computer piece by piece, only it won't have the capabilities of a current model thatyou buy initially.
Also, upgrading from XP to 7 may be jumping from the frying pan into the fire. You don't have a lot of choice about leaving XP, but 7 has its own set of problems. In the last year or so, 7 has been patched so much and has had so many problems that people have speculated about whether Microsoft has been purposely degrading 7 to encourage people to move to 8. Win 7, in its current state, is not something I would spend money on to upgrade to.
If it were me, I wouldn't put any money into a machine of that age, especially to upgrade it to Win 7. If you buy a new computer, get one with Win 8.x (latest version available at the time you buy). I'm not a big fan of Win 8, but it's really the only game in town if you want a Windows machine.
There actually is a third option, which I just did on an XP machine, probably of similar age. That is to load Linux (which I had never used before but didn't like the available options with Microsoft). You can try it without affecting the XP installation and if you like it, install it for free. A good version for an old XP machine and a Windows user is Linux Mint Xfce (here's a link:
http://blog.linuxmint.com/?p=2656). It runs well with the resources of an old XP machine (faster and cleaner than XP), it's very similar to Windows XP, and it comes with a complete suite of good software, including the equivalent of MS Office, so you can use it out-of-the box. It is also very complete in terms of having the drivers it is likely to need to work with your computer. If you like it, your XP machine will run better than it did before, it won't cost you a dime, and you can run your hardware until the wheels fall off. Just be aware that when you run it from a DVD to evaluate it, a DVD is much slower than a hard disk, so the performance won't be very perky in that mode. There are actually many varieties of Linux that will run on an old XP machine and are very "Windows"-like, and you can try them all before you decide if you want to load one.