bueno gracias le echare cabeza


Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import xml.Presentar;
public class Maneja {
public static void main(String[] args) throws TransformerException, TransformerConfigurationException {
String nodees = "";
Scanner entrada = new Scanner(System.in);
System.out.println("\t\tDocumentos XML");
int opcion = 0;
while (opcion != 5) {
System.out.println("\t\t\t\tMenú de Opciones");
System.out.println("\t\t\t\t================");
System.out.println("1)Presentar XML");
System.out.println("2)Añadir nuevo nodo");
System.out.println("3)Modificar nodo");
System.out.println("4)Eliminar nodo");
System.out.println("5)Salir");
System.out.println("================");
try {
opcion = entrada.nextInt();
} catch (Exception e) {
entrada = new Scanner(System.in);
}
switch (opcion) {
case 1:
Presentar p = new Presentar();
p.Presentar();
break;
case 2:
break;
case 3:
entrada.nextLine();
System.out.println("Ingresa el nodo a modificar");
nodees = entrada.nextLine();
Presentar m = new Presentar();
m.Modificar(nodees);
break;
case 4:
break;
case 5:
System.exit(0);
break;
default:
System.out.println("Opcion no valida");
break;
}
}
}
}
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import jdk.internal.org.objectweb.asm.commons.GeneratorAdapter;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
/**
*
* @author orlando
*/
public class Presentar {
public void Presentar() {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document documento = builder.parse(new File("peliculas.xml"));
NodeList listaPelis = documento.getElementsByTagName("pelicula");
for (int i = 0; i < listaPelis.getLength(); i++) {
Node nodo = listaPelis.item(i);
if (nodo.getNodeType() == Node.ELEMENT_NODE) {
Element e = (Element) nodo;
NodeList hijos = e.getChildNodes();
for (int j = 0; j < hijos.getLength(); j++) {
Node hijo = hijos.item(j);
if (hijo.getNodeType() == Node.ELEMENT_NODE) {
System.out.println(hijo.getNodeName() + ": " + hijo.getTextContent());
}
}
System.out.println("----------------------------------------------");
}
}
} catch (ParserConfigurationException | SAXException | IOException ex) {
System.out.println(ex.getMessage());
}
}
public void Añadir() {
}
public void Modificar(String nodoModificar) {
File fichXML = new File("peliculas.xml");
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(fichXML);
doc.getDocumentElement().normalize();
Node nDam = doc.getFirstChild();
NodeList nPelis = nDam.getChildNodes();
for (int cont1N = 0; cont1N < nPelis.getLength(); cont1N++) {
Node cadaC = nPelis.item(cont1N);
NodeList nTitulo = cadaC.getChildNodes();
for (int cont2N = 0; cont2N < nTitulo.getLength(); cont2N++) {
Node cadaPeli = nTitulo.item(cont2N);
if (nodoModificar.equals(cadaPeli.getNodeName())) {
System.out.println("Ingresa el valor del nodo seleccionado que deseas cambiar");
Scanner entrada = new Scanner(System.in);
String n = entrada.nextLine();
if (n.equals(cadaPeli.getNodeValue())) {
System.out.println("Ingresa la nueva informacion del nodo");
String m = entrada.nextLine();
nTitulo.item(cont2N).setTextContent(m);
}
}
}
}
TransformerFactory factoriaTransf = TransformerFactory.newInstance();
Transformer transformador = factoriaTransf.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult consoleResult = new StreamResult(System.out);
transformador.transform(source, consoleResult);
StreamResult fileResult = new StreamResult(new File("peliculas.xml"));
transformador.transform(source, fileResult);
} catch (Exception e) {
e.printStackTrace();
}
}
public void eliminar() {
}
}
Cita de: rub'n en 17 Abril 2020, 13:35 PM
Bueno, y como hiciste el fichero? muestra a ver que tal. parte del código, y se mas descriptivo.
Usa GeSHi si vas a copiar código java.
[public void altaFactura(Abonado nueva) {
]
try {
File f = new File("facturas_telf.dat");
FileWriter fw;
BufferedWriter bw;
if (f.exists()) {
fw = new FileWriter(f, true);
bw = new BufferedWriter(fw);
bw.newLine();
bw.write(nueva.numeroAbonado + "%" + nueva.nombre + "%" + nueva.factura);
} else {
fw = new FileWriter(f);
bw = new BufferedWriter(fw);
bw.write(nueva.numeroAbonado + "%" + nueva.nombre + "%" + nueva.factura);
}
bw.close();
fw.close();
} catch (Exception e) {
System.out.println(e);
}
}
public void altaFactura(Abonado nueva) {
try {
File f = new File("facturas_telf.dat");
FileWriter fw;
BufferedWriter bw;
if (f.exists()) {
fw = new FileWriter(f, true);
bw = new BufferedWriter(fw);
bw.newLine();
bw.write(nueva.numeroAbonado + "%" + nueva.nombre + "%" + nueva.factura);
} else {
fw = new FileWriter(f);
bw = new BufferedWriter(fw);
bw.write(nueva.numeroAbonado + "%" + nueva.nombre + "%" + nueva.factura);
}
bw.close();
fw.close();
} catch (Exception e) {
System.out.println(e);
}
}