Вы не проверяете, существует ли элемент 0. По существу, .item () вернет ноль, если индекс недействителен, поэтому может не быть элемента с индексом 0, который возвращает ноль, и затем вы пытаетесь вызвать getChildNodes () для нулевого указателя. Отсюда твой NPE.
Вы должны перебирать элементы в списке узлов.
изменение
Element nameElement = (Element)nameList.item(0);
до
for(int x = 0; x < nameList.getLength(); x++) {
nameElement = nameList.item(x);
NodeList nameOutput = nameElement.getChildNodes();
System.out.println("name: "+nameElement);
}