allora, a quanto pare non è getElementsByTagName che non è supportato ma quello che viene dopo:
la sintassi corretta è:

xmlDoc.getElementsByTagName("firstname")[0].firstChild.data

non

xmlDoc.getElementsByTagName('firstname').firstChil d[0].data