public LinkedHashMap<Integer, Persona> cargarPersonaDOM(String rutaFichero) {
        LinkedHashMap<Integer, Persona> personas = new LinkedHashMap<>();
        rutaFichero = rutaFichero + ".xml";
        try {
            File xmlFile = new File(rutaFichero);
            DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();
            Document doc = documentBuilder.parse(xmlFile);
            doc.getDocumentElement().normalize();
            //mira cuantos nodos persona hay, devuelve una lista
            NodeList NodosPersona = doc.getElementsByTagName("persona");
            //get document element devuelve el elemento del documento
            //System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
            //recorremos la lista de estudiantes
            for (int i = 0; i < NodosPersona.getLength(); i++) {
                //devuelve el elemento (nodo) que se encuentre en la posición especificada de la lista
                //creo un nodo con el elemento que toque
                Node node = NodosPersona.item(i);
                //de todos los elementos selecciona los que sean nodos (podrían ser texto...)
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    //casteo el nodo a tipo element
                    Persona p;
                    Element NPersona = (Element) node;
                    String idtexto = NPersona.getAttribute("id");
                    Integer id = Integer.parseInt(idtexto);
                    String nombre = NPersona.getElementsByTagName("nombre").item(0).getTextContent();
                    p = new Persona(id, nombre);
                    personas.put(p.getId(), p);
                }
            }
        } catch (ParserConfigurationException | SAXException | IOException | DOMException e) {

        }
        return personas;
    }