Necesito que por favor me ayuden a como leer un XML desde Java.
Les cuento que yo lo he logrado parcialmente, tengo el siguiente XML super sencillo:
Código:
Y tengo el siguiente codigo en Java con el cual he logrado leer el valor "Probando".<nodo_raiz> <nodo_hijo nombre_atributo="Probando"> </nodo_hijo> </nodo_raiz>
Código:
public void procesarXML(String string_xml) { try { factory = DocumentBuilderFactory.newInstance(); builder = factory.newDocumentBuilder(); doc = builder.parse(new InputSource(new StringReader(string_xml)));//el xml lo pasamos como String Node raiz = doc.getFirstChild(); recorrerXML(raiz.getChildNodes(), 0); } catch (SAXException e) { } catch (IOException e) { } catch (ParserConfigurationException e) { } } /* *piso = 0 -> nodo padre *piso = 1 -> nodo hijo *piso = 2 -> nodo nieto *piso = n -> asi sucesivamente */ private void recorrerXML(NodeList lst, int piso) { if (lst != null) { for (int i = 0; i < lst.getLength(); i++) { obtenerDatos(lst.item(i), piso); addMessage(lst.item(i).getNodeName()); } } } private void obtenerDatos(Node n, int piso) { NamedNodeMap atributos = n.getAttributes(); Node aux = atributos.getNamedItem("nombre_atributo"); System.out.println(aux.getNodeName()); }
Hasta aqui todo bien, el problema lo tengo cuando tengo que leer el siguiente XML:
Código:
<?xml version="1.0" encoding="ISO-8859-1" ?> <rif:Rif xmlns:rif="rif" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" rif:numeroRif="V101234567"> <rif:Nombre>JUAN CARLOS LOPEZ LOPEZ</rif:Nombre> <rif:AgenteRetencionIVA>NO</rif:AgenteRetencionIVA> <rif:ContribuyenteIVA>SI</rif:ContribuyenteIVA> <rif:Tasa /> </rif:Rif>
Cuando trato de leer este archivo XML con el codigo java que les coloque, no puedo leer el valor de los nodos, puedo leer el nombre pero no el valor, siempre devuelve null. Si se fijan este ultimo XML es un poco mas "extraño" que el primero que les mande, al menos para mi.
Les agradeceria mucho su ayuda para poder leer este archivo XML.
Desde ya muchas gracias.