ciao!
ho un problema con un file xml.
questo una parte del file:
codice:
<clienti>
  <cliente>
    <codice>CODICE</codice>
    <ragione_sociale>RAGSOC</ragione_sociale>
    <mnemonico>MNEM</mnemonico>
    <indirizzo>INDIRIZZO</indirizzo>
    <telefono> </telefono>
    <email> </email>
    <listino_c>LIST</listino_c>
    <sconto_c>00.00</sconto_c>
  </cliente>
........
</clienti>
quindi è completo dei tag.
poi lo leggo:
codice:
    public static ArrayList<ArrayList<String>> read(String file) throws ParserConfigurationException, SAXException, IOException {
        ArrayList<ArrayList<String>> tabella = new ArrayList<>();
        if (new File(file).exists()) {
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            Document document = builder.parse(file);
            document.getDocumentElement().normalize();
            NodeList nodeList = document.getElementsByTagName("cliente");
            for (int i = 0; i < nodeList.getLength(); i++) {
                Node node = nodeList.item(i);
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    ArrayList<String> list = new ArrayList<>();
                    Element element = (Element) node;
                    list.add(element.getElementsByTagName("codice").item(0).getTextContent());
                    list.add(element.getElementsByTagName("ragione_sociale").item(0).getTextContent());
                    list.add(element.getElementsByTagName("mnemonico").item(0).getTextContent());
                    list.add(element.getElementsByTagName("listino_c").item(0).getTextContent()); // ERRORE
                    tabella.add(list);
                }
            }
        }
        return tabella;
    }
ottengo l'errore sulla riga dove ho messo il commento:
codice:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at it.cimoda.ReadXml.read(ReadXml.java:40)
    at it.cimoda.FrameMain.riempiTable(FrameMain.java:100)
    at it.cimoda.FrameMain.<init>(FrameMain.java:30)
    at it.cimoda.Cimoda$1.run(Cimoda.java:29)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
può essere che sia stanco, ma l'errore non lo vedo!!!