Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/09/2005, 12:33
Legolas_Bilbao
 
Fecha de Ingreso: mayo-2005
Mensajes: 423
Antigüedad: 19 años, 6 meses
Puntos: 1
Código:
// JAXP DOM imports
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
// Estándar DOM imports
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Document;

import java.util.Vector;
import java.io.FileWriter;
import java.io.File;
import java.io.IOException;

import practicaSMS.gestionConcursos.*;

  /**
    * Carga el documento XML.
    */
    public void conectarOrigenDatos() throws DAOException {

	// Por defecto la factoria devuelve un parser no validador
	DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
	try {
		// Crear nueva instancia de DOMBuilder a través de factoria
		DocumentBuilder builder = fact.newDocumentBuilder();
		// Crear un objeto de tipo Documento parseando con DOM
		document = builder.parse(xml); // el documento dado por URL
	} catch (Exception e) {
	e.printStackTrace();
	}
    }

    /**
    * Guarda el documento XML.
    */
    public void desconectarOrigenDatos() throws DAOException {
        File file = new File(xml);
        try {
           FileWriter writer = new FileWriter(file);
           writer.write("<?xml version='1.0' encoding='iso-8859-1'?>");
           writer.write(document.getDocumentElement().toString());
           writer.close();
        } catch (IOException ex) {
            System.out.println(ex.toString());
        }
    }

    /**
   * Devuelve los concursos almacenados en el fichero XML.
   * @return Vector de Concursos que contiene los concursos almacenados en el fichero XML.
   */
    public java.util.Vector obtenerConcursos() throws DAOException {
        Vector concursos = new Vector();
        NodeList nodos = document.getElementsByTagName("concurso");
        for (int i=0; i<nodos.getLength(); i++)
        {
            int id = Integer.parseInt(nodos.item(i).getAttributes().getNamedItem("id").getNodeValue());
            String acronimo = nodos.item(i).getAttributes().getNamedItem("acronimo").getNodeValue();
            String descripcion = nodos.item(i).getAttributes().getNamedItem("texto").getNodeValue();
            Concurso c = new Concurso(id,acronimo,descripcion);
            Vector restricciones = new Vector();
            NodeList subnodos = nodos.item(i).getChildNodes();
            for (int j=0; j<subnodos.getLength(); j++)
            {
		if (subnodos.item(j).getNodeName().equals("restriccion"))
                {
                    NodeList nodosRestriccion = subnodos.item(j).getChildNodes();
                    Vector palabras = new Vector();
                    for (int k=0; k<nodosRestriccion.getLength(); k++)
                    {
                        if(nodosRestriccion.item(k).getNodeName().equals("palabra"))
				palabras.add(nodosRestriccion.item( k ).getFirstChild().getNodeValue());

                    }
                    restricciones.add(new practicaSMS.gestionConcursos.RestriccionPalabrasNoPermitidas(palabras,c));
                }
                else if (subnodos.item(j).getNodeName().equals("opcion"))
                {
                    NodeList nodosOpcion = subnodos.item(j).getChildNodes();
                    Vector opciones = new Vector();
                    for (int k=0; k<nodosOpcion.getLength(); k++)
                    {
                        if(nodosOpcion.item(k).getNodeName().equals("palabra"))
				opciones.add(nodosOpcion.item( k ).getFirstChild().getNodeValue());
                    }
                    restricciones.add(new RestriccionOpcionesPermitidas(opciones,c));
                }
            }
            for(int j=0; j<restricciones.size(); j++)
            {
                c.añadirRestriccion((Restriccion)restricciones.get(j));
            }
            concursos.add(c);
        }
        return concursos;

    }
espero q te sirva
__________________
Dios creo un equipo perfecto a los demas los lleno de extranjeros