Зачем в теге yahoo другие поисковики?!
Яху попробуйте получить так:
var oneRecord = data.firstChild;
Странно, конечно, что выдаёт ошибку... Возможно XML невалидный. Для точности нужно использовать такую конструкцию:
if(!xml) alert('')//Невалидный
else if(!xml.documentElement) alert('')//Невалидный
else if(xml.documentElement.tagName=='parsererror') alert('')//Невалидный
else // Валидный