codice:
import org.apache.xerces.parsers.DOMParser;
import org.apache.xerces.dom.DocumentImpl;
import org.w3c.dom.*;
import org.w3c.dom.ranges.*;
import org.xml.sax.SAXException;
import java.io.IOException;

public class prova {
    
    /** Creates a new instance of prova */
    public prova() {
    DOMParser parser = new DOMParser();
    try {
    parser.parse("http://localhost/web/test2.xml");
    }
    catch (SAXException s)
    {
       s.printStackTrace();
        
    }
    catch (IOException i)
    {
        i.printStackTrace();
    }
    Document doc =  parser.getDocument();
    Element E = doc.getDocumentElement();
    NodeList d = E.getChildNodes();
    for (int x = 0; x<d.getLength(); x++)
    {
       System.out.println(d.item(x).getNodeName());
        
    }
    }
    
    public static void main(String[] args) {
    prova p = new prova();
    }
    
}
Con queste istruzioni ottengo più o meno quello che ottieni tu a video... ma se commento la riga
System.out.println(d.item(x).getNodeName());
il programma gira ma non stampa assolutamente niente ...