I use ZOUT on all stains. I SWEAR it works on everything (sometimes even after it has been dried). I used it for all of those baby spit-ups on white onesies and it got everything out... Spray it on, leave it on for 15 min or so, then wash!
We have it here in our Meijer's (Walmart type store--but higher quality). Red spray container!