I think the problem here is blogger. When I paste your code into my own HTML/JavaScript widget, save and re edit it I see:

document.write("" + x.getNamedItem("title").nodeValue + "
");

It looks like blogger has somehow corrupted the contents of the script. I have figured out that you need a space in the for loop:

for (i=0; i < xmlDoc.getElementsByTagName('achievement').length; i++)

If you put
for (i=0; i <xmlDoc.getElementsByTagName('achievement').length ; i++)

I think the silly editor thinks <xmlDoc is some sort of html tag and gets all confused. So something similar might be happening with the document.write line, I haven't had time to look into it more.

Basically I suggest raiding a help ticket against Blogger saying their HTML editor is silly and is messing up your Javascript!