java xml cast Node to Element

worldnews09

New Member
I know this was asked many times but I still cannot get it to work. I convert xml string to Document object and then parse it. Here is the code:\[code\]import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.*;DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder;try{ builder = factory.newDocumentBuilder(); Document document = builder.parse( new InputSource( new StringReader( result ) ) ); Node head = document.getFirstChild(); if(head != null) { NodeList airportList = head.getChildNodes(); for(int i=0; i<airportList.getLength(); i++) { Node n = airportList.item(i); Element airportElem = (Element)n; }}catch (Exception e) { e.printStackTrace();} \[/code\]When I cast the Node object n to Element I get an exception java.lang.ClassCastException: org.apache.harmony.xml.dom.TextImpl cannot be cast to org.w3c.dom.Element. When I check the node type of the Node object it says Node.TEXT_NODE. I believe it should be Node.ELEMENT_NODE. Am I right? So how do I convert Node to Element, so I can do something like element.getAttribute("attrName"). Here is my XML:\[code\]<?xml version="1.0" encoding="utf-8" ?> <ArrayOfCity xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><City> <strName>Abu Dhabi</strName> <strCode>AUH</strCode> </City><City> <strName>Amsterdam</strName> <strCode>AMS</strCode> </City><City> <strName>Antalya</strName> <strCode>AYT</strCode> </City><City> <strName>Bangkok</strName> <strCode>BKK</strCode> </City></ArrayOfCity>\[/code\]Thanks in advance!
 
Back
Top