Jump to content

Ayuda lectura y parseo XML en java


Recommended Posts

Estimados:

Tengo la siguiente duda. Estoy creando en Java un proyecto el cual mediante la lectura de un archivo XML, se parsea y luego segun el Tag que deseo imprimo su contenido. He seguido el procedimiento de varios tutoriales de internet pero no me ha resultado nada. Quizas debe ser porque este XML es especial, ya que por lo que visualize, este contiene el nodo padre pero no se logra apreciar que tenga un nodo hijo. Espero sus sugerencias. Saludos.

 

Java:

File Xmlfile = new File("F:\fichero.xml");DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();    Document doc = dBuilder.parse(Xmlfile);doc.getDocumentElement().normalize();NodeList nList = doc.getElementsByTagName("CurrentWeather");for (int temp = 0; temp < nList.getLength(); temp++) {        Node nNode = nList.item(temp);if (nNode.getNodeType() == Node.ELEMENT_NODE) {            Element eElement = (Element) nNode;out.println("lugar : " + eElement.getAttribute("Location"));}}}catch(Exception ioe){ioe.printStackTrace();} 

Archivo XML

<?xml version="1.0" encoding="utf-16"?><CurrentWeather><Location>Mendoza Aerodrome, Argentina (SAME) 32-50S 068-47W 704M</Location><Time>Jun 18, 2014 - 08:00 PM EDT / 2014.06.19 0000 UTC</Time><Wind> from the W (270 degrees) at 2 MPH (2 KT):0</Wind><Visibility> greater than 7 mile(s):0</Visibility><Temperature> 46 F (8 C)</Temperature><DewPoint> 37 F (3 C)</DewPoint><RelativeHumidity> 70%</RelativeHumidity><Pressure> 30.36 in. Hg (1028 hPa)</Pressure><Status>Success</Status></CurrentWeather>
Link to comment
Share on other sites

Viejo, con tu código estás leyendo "atributos" del elemento XML... En el siguiente ejemplo, "id" es un atributo

 

<Nodo id="identificador">pillow14</Nodo>

Para recuperar "pillow14" tienes que hacerlo con esto:

 

eElement.getElementsByTagName("Location").item(0).getTextContent()

 

Suerte!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...