Leer y procesar un fichero XML desde Java
Aquí les dejo un corto pero simple ejemplo de cómo procesar de un String con una cadena XML desde Java:
import java.io.StringReader; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Element; import org.xml.sax.InputSource; public class Main { public static void main(String[] args) { String xml = "<agenda>" + "<contacto tipo=\"amigo\">" + " <nombre>Oscar</nombre>" + " <apellido>Carrascosa</apellido>" + " <edad>28</edad>" + "</contacto>" + "<contacto tipo=\"amiga\">" + " <nombre>Hellen</nombre>" + " <apellido>McGregor</apellido>" + " <edad>31</edad>" + "</contacto>" + "</agenda>"; try{ DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); domFactory.setNamespaceAware(true); DocumentBuilder builder = domFactory.newDocumentBuilder(); Document doc = builder.parse(new InputSource(new StringReader(xml))); NodeList todosContactos = doc.getElementsByTagName("contacto"); Node unContacto = todosContactos.item(0); if (unContacto.getNodeType() == Node.ELEMENT_NODE){ Element elemento = (Element) unContacto; System.out.println(elemento.getAttribute("tipo")); NodeList lista = elemento.getElementsByTagName("nombre").item(0).getChildNodes(); Node valor = (Node) lista.item(0); System.out.println( valor.getNodeValue()); } }catch(Exception ex){ ex.printStackTrace(); } } } |