If you can get the Windows XP "i386" directory (which contains the setup files) on your hard drive along with a bootable operating system capable of initiating Windows XP setup, you're good to go. A Windows 98SE startup disk (floppy boot disk - see
www.bootdisk.com) contains an operating system capable of doing this (MS-DOS 7.1).
Basically you'd be setting up a dual boot system preferably with multiple partitions. You would install the operating system of the boot floppy (MS-DOS 7.1) to a primary partition ("system" partition) which must be formatted either FAT16 or FAT32. The "i386" directory would either be copied to this partition or another FAT16/32 partition. The Windows XP operating system should be installed to its own partition formatted either FAT32 or NTFS which may be done later during its installation. The Windows XP setup may be initiated from MS-DOS by executing the "<appropriate_drive_letter>:\i386\winnt" command.
There are details you may trip over if you don't research this first. But it is doable. You must ensure the "active" primary partition boot record (not the Master Boot Record) looks for the MS-DOS 7.1 boot files. Not sure if you need IDE hard drive interface with MS-DOS 7.1. How would it handle a SATA drive? (Maybe if BIOS was set to IDE compatibility mode?)
How you transfer the files to "target" hard drive is up to you.
The practical solution is "fix" the CD-ROM drive.