Foros del Web » Programación para mayores de 30 ;) » Java »

XML DOM añadir nuevo nodo al fichero

Estas en el tema de XML DOM añadir nuevo nodo al fichero en el foro de Java en Foros del Web. Hola, Tengo el siguiente fichero xml: Código: <curso> <profesor pais="Espana"> <nombre>Paco</nombre> <asignatura>Matematicas</asignatura> <especialidad>Algebra</especialidad> <curso>4 ESO</curso> <modalidad>123.45</modalidad> </profesor> <comentario>Comentario de prueba</comentario> <alumnos> <alumno> <nombreAlumno>Javier</nombreAlumno> <edad>21</edad> <direccion>C/Prueba</direccion> ...
  #1 (permalink)  
Antiguo 10/11/2014, 14:34
Avatar de javier6_almansa  
Fecha de Ingreso: mayo-2014
Mensajes: 34
Antigüedad: 10 años, 6 meses
Puntos: 0
XML DOM añadir nuevo nodo al fichero

Hola,
Tengo el siguiente fichero xml:
Código:
<curso>
  <profesor pais="Espana">
    <nombre>Paco</nombre>
    <asignatura>Matematicas</asignatura>
    <especialidad>Algebra</especialidad>
    <curso>4 ESO</curso>
    <modalidad>123.45</modalidad>
  </profesor>
  <comentario>Comentario de prueba</comentario>
  <alumnos>
    <alumno>
      <nombreAlumno>Javier</nombreAlumno>
      <edad>21</edad>
      <direccion>C/Prueba</direccion>
      <comentario>Alumno de prueba</comentario>
      <telefono>123456789</telefono>
    </alumno>
  </alumnos>
</curso>
Estoy convirtiendo este fichero a un arbol DOM mediante:
Código:
public static Document XML2DOM (String pathFichero){
        Document doc=null;
        try {
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            doc=db.parse(pathFichero);            
           
        } catch (Exception e) {
           System.out.println("Error al crear el documento DOM: "+e.getMessage());
        }        
        return doc;
    }
El problema lo tengo ahora para por ejemplo insertar un nuevo alumno dentro de alumnos.
Por ejemplo creo un nuevo alumno con dentro, un nombre:
Código:
 
Element nombreTag = doc.createElement("nombreAlumno");
Text nombreTxt=doc.createTextNode("Nuevo alumno");
nombreTag.appendChild(nombreTxt);
Element elementoAlumno = doc.createElement("alumno");
elementoAlumno.appendChild(nombreTag);
Ahora mi duda es, como puedo insertar este nuevo alumno, como hijo dentro de alumnos. Mas bien mi problema es como acceder al elemento alumnos.

He probado accediendo a la raiz
Código:
Element raiz = doc.getDocumentElement();
Pero a partir de aqui, ya no se como conseguir un Element de alumnos
  #2 (permalink)  
Antiguo 11/11/2014, 01:33
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: XML DOM añadir nuevo nodo al fichero

Buenas,

Puedes obtener cualquier elemento del DOM mediante su name.

doc.getElementsByTagName("alumnos");


Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: dom, fichero, nodo, string, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:15.