Editing XML file doesn't sound like a job for a shell script really, maybe unless you execute XSLT scripts from that.
Python, Perl, or Java sound more suitable for this. However it depends how complex the things are you want to do are. If it's just putting some easy-to-find parts of some files together, a shell script wit maybe some sed or awk commands may be the easiest thing to use.
Like khtse already said, it also denpends on your expertise in the different languages.