Entradas

Mostrando las entradas con la etiqueta xml

XML a Objeto Java

¿Quién no ha querido convertir un archivo XML a objetos Java? Usando el DOM, es muy útil pero bastante trabajoso. Hay un "parser" de Apache Commons llamado Digester que permite convertir un XML (usando algunas reglas) a objetos Java. Lo he usado bastante tiempo y me es muy útil. Así que comparto un ejemplo usando esta biblioteca. https://apuntes.dev.java.net/files/documents/10908/150452/ReadXML.tar.gz En este ejemplo, se leerá el archivo http://www.xmlfiles.com/examples/simple.xml , lo descargará de Internet usando HttpClient , y lo procesará usando DOM del JDK, y luego usando el Apache Digester.  Espero que les sea de utilidad.

Un editor de XML Schema gratuito... NetBeans

Imagen
Cuando queremos editar un archivo XML podemos usar un editor de texto plano (aunque llega a ser confuso cuando crece mucho). Sabemos que los XML permite cualquier estructura de datos, pero tampoco hay que abusar de ello. Es necesario que tenga un orden: cuales son los tags, cuantos, cuales y en qué orden se establecen los valores, qué atributos debe tener, etc. Para ello se puede usar DTD , o un , XML Schema . Usar un XML Schema tiene la gran ventaja es que es otro XML más, y que tiene más manera de restringir un XML que usando un DTD. Para hacer un XML Schema se debería de usar un super editor de XML. El más conocido es el XML Spy. Lo he usado bastante, hasta cuando me decía que debería pagar por la versión.... además no corría en Linux. Jugando por ahí con NetBeans encontré que también tiene su propio editor de Schemas. Y de eso lo trataré en este post. Paso 0: Instalación del editor de XML Schemas. Para comenzar, debemos instalar el componente, si es que no hemos instalado la opción...

String XML a Archivo

La manera más común de mandar una cadena a un archivo es justamente usar Streams. Pero podemos aprovechar el JDK utilizando los manejadores XML que tiene incorporado. Asumiendo que la variable xml es un String que contiene un XML válido, y la variable f es un objeto de tipo java.io.File . DocumentBuilderFactory factory = DocumentBuilderFactory. newInstance (); DocumentBuilder builder = factory. newDocumentBuilder (); Document document = builder. parse ( new InputSource ( new StringReader (xml))); document. setXmlVersion ( "1.0" ); Source source= new DOMSource (document); Result result= new StreamResult (f); Transformer xformer= TransformerFactory.newInstance().newTransformer(); xformer.transform(source, result);

String to XML

Necesitaba una función que me permitiera convertir una cadena en un objeto para manipular XML. Lo que hacía era crear un archivo .xml, le colocaba la cadena, lo cerraba y lo abría después con el objeto Document. Pero aquí tengo otra función mejor String xmlString = request.getParameter("PARAM1"); //obtengo la cadena DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //un factory DocumentBuilder builder = factory.newDocumentBuilder(); //el documento Document document = builder.parse(new InputSource(new StringReader(xmlString))); //aqui le paso al Document