XML - Jdom

 
Vista:

Jdom

Publicado por Jose Manuel (2 intervenciones) el 16/05/2007 17:34:31
Problema con Jdom consigo sacar un nodo o llamemoslo etiqueta xml en formato xml a un fichero pero no consigo sacar el resto de nodos que se llaman igual .
Alguien tienen alguna sugerencia Gracias de antemano amigos un saludo a todos los que os estais pegando por ahi con alguna cosilla jeje animo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Extraer múltiples nodos con el mismo nombre utilizando JDOM

Publicado por Alejandro (258 intervenciones) el 14/07/2023 19:05:02
Si estás utilizando JDOM y necesitas extraer múltiples nodos con el mismo nombre de un archivo XML, puedes hacerlo utilizando los métodos proporcionados por la clase Element de JDOM. Aquí tienes una solución para extraer todos los nodos con el mismo nombre:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import org.jdom2.*;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.XMLOutputter;
 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
 
public class JDOMExample {
 
    public static void main(String[] args) {
        File inputFile = new File("ruta_del_archivo.xml");
        String nodoNombre = "nombre_del_nodo";
 
        try {
            Document document = new SAXBuilder().build(inputFile);
            Element rootElement = document.getRootElement();
 
            List<Element> nodos = rootElement.getChildren(nodoNombre);
            for (Element nodo : nodos) {
                guardarNodoEnArchivo(nodo);
            }
 
            System.out.println("Extracción de nodos completada correctamente.");
 
        } catch (IOException | JDOMException e) {
            e.printStackTrace();
        }
    }
 
    private static void guardarNodoEnArchivo(Element nodo) {
        try {
            XMLOutputter xmlOutputter = new XMLOutputter();
            xmlOutputter.output(nodo, new FileWriter("ruta_destino/nodo.xml"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

En este ejemplo, reemplaza "ruta_del_archivo.xml" con la ubicación de tu archivo XML y "nombre_del_nodo" con el nombre de los nodos que deseas extraer. El método `getChildren(nodoNombre)` devuelve una lista de elementos con el nombre especificado. Luego, puedes recorrer la lista y guardar cada nodo en un archivo separado utilizando el método `guardarNodoEnArchivo()`.

Asegúrate de reemplazar "ruta_destino/nodo.xml" con la ubicación y el nombre de archivo deseados para guardar cada nodo extraído.

Esta solución te permitirá extraer múltiples nodos con el mismo nombre utilizando JDOM y guardarlos en archivos individuales. Ajusta el código según tus necesidades específicas y la estructura de tu archivo XML.

¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar