13/09/2005, 12:33
|
| | 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 |