Crear un DOM

2141 vistas

La clase DocumentBuilder permite crear una nueva instancia de Document gracias al método newDocument(). Por lo demás, Document ofrece un conjunto de métodos createXXX que permiten crear nodos, elementos, comentarios y atributos.

Veamos un ejemplo:



java
  1. // creación de un nuevo DOM
  2. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  3. DocumentBuilder constructor = factory.newDocumentBuilder();
  4. Document document = constructor.newDocument();
  5.  
  6. // Propiedades del DOM
  7. document.setXmlVersion("1.0");
  8. document.setXmlStandalone(true);
  9.  
  10. // creación del árbol del DOM
  11. Element raiz = document.createElement("agenda");
  12. raiz.appendChild( document.createComment("Comentario debajo de la raiz") );
  13. Element persona = document.createElement("persona");
  14. persona.setAttribute("id","0");
  15. raiz.appendChild(persona);
  16. Element nombre = document.createElement("nombre");
  17. nombre.setTextContent("un nombre");
  18. persona.appendChild(nombre);
  19. Element apellido = document.createElement("apellido");
  20. apellido.setTextContent("un apellido");
  21. persona.appendChild(apellido);
  22. Element direccion = document.createElement("direccion");
  23. direccion.setTextContent("una dirección");
  24. persona.appendChild(direccion);
  25. document.appendChild(raiz);



Transformación en XML del DOM:



xml
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <agenda>
  3. <!--Comentario debajo de la raiz-->
  4. <persona id="0">
  5. <nombre>un nombre</nombre>
  6. <apellido>un apellido</apellido>
  7. <direccion>una dirección</direccion>
  8. </persona>
  9. </agenda>



Para guardar este DOM en forma de XML tendremos que usar XSLT (ver [iurl=#]Crear o modificar un fichero XML con DOM y XSLT[/iurl]).