ho un file xml.
lo carico dentro a una jlist.
poi posso aggingere/rimuovere elementi all'ArrayList.
dopo le modifiche voglio salvare il tutto.
ho provato a fare così.
questo è il metodo per crear il file xml:
gli devo passare un arraylist prendendolo dal DefaultListModel del JList:codice:public static void save(ArrayList<ToDo> list) throws ParserConfigurationException, TransformerConfigurationException, TransformerException { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.newDocument(); Element todos = doc.createElement("todos"); doc.appendChild(todos); Element todo = doc.createElement("todo"); for (Object obj : list) { todo.appendChild(doc.createTextNode(obj.toString())); } todos.appendChild(todo); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult("todo.xml"); transformer.transform(source, result); }
ho ovviamente un problema di cast.codice:for (int i = 0; i < model.getSize(); i++) { ArrayList<ToDo> newList = model.getElementAt(i); } Xml.save(newList);
come faccio a recuperare tutti i valori di JList e metterli dentro un array da passare poi al metodo??

Rispondi quotando