commit e62a728edb6b3c907eff118f8dfe7f78b6f1e3e8 Author: jandroalbus Date: Mon Oct 24 17:16:53 2022 +0200 Commit inicial diff --git a/ReaderXMLFicheros/.classpath b/ReaderXMLFicheros/.classpath new file mode 100644 index 0000000..57bca72 --- /dev/null +++ b/ReaderXMLFicheros/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ReaderXMLFicheros/.project b/ReaderXMLFicheros/.project new file mode 100644 index 0000000..19580c7 --- /dev/null +++ b/ReaderXMLFicheros/.project @@ -0,0 +1,17 @@ + + + ReaderXMLFicheros + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/ReaderXMLFicheros/.settings/org.eclipse.core.resources.prefs b/ReaderXMLFicheros/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/ReaderXMLFicheros/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/ReaderXMLFicheros/.settings/org.eclipse.jdt.core.prefs b/ReaderXMLFicheros/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/ReaderXMLFicheros/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/ReaderXMLFicheros/bin/README.md b/ReaderXMLFicheros/bin/README.md new file mode 100644 index 0000000..a64eda9 --- /dev/null +++ b/ReaderXMLFicheros/bin/README.md @@ -0,0 +1,31 @@ +# README.md + +## Titulo +Lectura de un archivo XML y creacion de otro archivo + creacion objetos + +## Autor +Alejandro Javier Albus 2CFGS DAM + +## Uso +Pasamos un archivo.xml en el codigo para leer y también en el codigo crear archivo/objetos + +## Dependencias +Uso de librerias externas: +* import java.io.File; +* import java.io.IOException; + +* import javax.swing.text.Document; +* import javax.xml.parsers.DocumentBuilder; +* import javax.xml.parsers.DocumentBuilderFactory; +* import javax.xml.transform.Transformer; +* import javax.xml.transform.TransformerFactory; +* import javax.xml.transform.dom.DOMSource; +* import javax.xml.transform.stream.StreamResult; + +* import org.w3c.dom.Attr; +* import org.w3c.dom.Element; +* import org.w3c.dom.Node; +* import org.w3c.dom.NodeList; + +## Licencia +Uso libre \ No newline at end of file diff --git a/ReaderXMLFicheros/bin/ReaderXMLFicheros/ReaderXMLFicheros.class b/ReaderXMLFicheros/bin/ReaderXMLFicheros/ReaderXMLFicheros.class new file mode 100644 index 0000000..7b37953 Binary files /dev/null and b/ReaderXMLFicheros/bin/ReaderXMLFicheros/ReaderXMLFicheros.class differ diff --git a/ReaderXMLFicheros/src/README.md b/ReaderXMLFicheros/src/README.md new file mode 100644 index 0000000..a64eda9 --- /dev/null +++ b/ReaderXMLFicheros/src/README.md @@ -0,0 +1,31 @@ +# README.md + +## Titulo +Lectura de un archivo XML y creacion de otro archivo + creacion objetos + +## Autor +Alejandro Javier Albus 2CFGS DAM + +## Uso +Pasamos un archivo.xml en el codigo para leer y también en el codigo crear archivo/objetos + +## Dependencias +Uso de librerias externas: +* import java.io.File; +* import java.io.IOException; + +* import javax.swing.text.Document; +* import javax.xml.parsers.DocumentBuilder; +* import javax.xml.parsers.DocumentBuilderFactory; +* import javax.xml.transform.Transformer; +* import javax.xml.transform.TransformerFactory; +* import javax.xml.transform.dom.DOMSource; +* import javax.xml.transform.stream.StreamResult; + +* import org.w3c.dom.Attr; +* import org.w3c.dom.Element; +* import org.w3c.dom.Node; +* import org.w3c.dom.NodeList; + +## Licencia +Uso libre \ No newline at end of file diff --git a/ReaderXMLFicheros/src/ReaderXMLFicheros/ReaderXMLFicheros.java b/ReaderXMLFicheros/src/ReaderXMLFicheros/ReaderXMLFicheros.java new file mode 100644 index 0000000..fe8036c --- /dev/null +++ b/ReaderXMLFicheros/src/ReaderXMLFicheros/ReaderXMLFicheros.java @@ -0,0 +1,133 @@ +package ReaderXMLFicheros; + +import java.io.File; +import java.io.IOException; + +import javax.swing.text.Document; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.w3c.dom.Attr; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +/* + * Ejercicio 10. La lectura de este archivo XML + * Ejercicio 11. A partir del fichero de objetos Persona crea un XML usando DOM + * */ + +public class ReaderXMLFicheros { + + public static void main(String[] args) throws IOException{ + + String filePath = "C:\\Users\\jandr\\Desktop\\Acceso a datos\\Container Ficheros\\Empleados.xml"; + File file = new File(filePath); + + // 10. Lectura archivo .xml + try { + + DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); + Document doc = (Document) dBuilder.parse(file); + + // Accede al nodo raíz del documento y Elimina nodos vacíos y combina adyacentes en caso de que los hubiera + ((org.w3c.dom.Document) doc).getDocumentElement().normalize(); + + // Almacenar el elemento que le indicaremos como parámetro + NodeList nList = ((org.w3c.dom.Document) doc).getElementsByTagName("empleado"); + + // Una vez tenemos almacenados los datos del nodo “empleado” podemos leer su contenido teniendo en cuenta que + //este código depende de que conozcamos la estructura y etiquetas utilizadas. + + for (int i = 0; i < nList.getLength(); i++) { + + Node node = nList.item(i); + + if (node.getNodeType() == Node.ELEMENT_NODE) { + Element eElement = (Element) node; + + if(eElement.hasChildNodes()) { + NodeList nl = node.getChildNodes(); + + for(int j=0; j