Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid XML: Can't cast node to element
    primarykey
    data
    text
    <p>I'm trying to read a xml file, but it keeps telling me: java.lang.ClassCastException: org.apache.harmony.xml.dom.ElementImpl cannot be cast to android.renderscript.Element</p> <p>Why can't i cast nNode to an Element?</p> <pre><code> import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import android.renderscript.Element; import android.util.Log; class XMLParser { public void read(File f) { try { DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(f); doc.getDocumentElement().normalize(); NodeList nList = doc.getElementsByTagName("staff"); Log.i("xml", "xml: start"); Log.i("xml", "xml: root = "+ doc.getDocumentElement().getNodeName()); for (int temp = 0; temp &lt; nList.getLength(); temp++) { Node nNode = nList.item(temp); //Element eElement = (Element) nList.item(temp); if(nNode.getNodeType() == Node.ELEMENT_NODE) { Element eElement = (Element) nNode; Log.i("xml", "xml: photo "+ getTagValue("firstname", eElement)); } } } catch (Exception e) { Log.i("xml", "xml: doet niet " + e.toString()); } } private static String getTagValue(String sTag, Element eElement) { NodeList nlList = ((Document) eElement).getElementsByTagName(sTag).item(0).getChildNodes(); Node nValue = (Node) nlList.item(0); return nValue.getNodeValue(); } } </code></pre> <p>XML file:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;company&gt; &lt;staff&gt; &lt;firstname&gt;yong&lt;/firstname&gt; &lt;lastname&gt;mook kim&lt;/lastname&gt; &lt;nickname&gt;mkyong&lt;/nickname&gt; &lt;salary&gt;100000&lt;/salary&gt; &lt;/staff&gt; &lt;staff&gt; &lt;firstname&gt;low&lt;/firstname&gt; &lt;lastname&gt;yin fong&lt;/lastname&gt; &lt;nickname&gt;fong fong&lt;/nickname&gt; &lt;salary&gt;200000&lt;/salary&gt; &lt;/staff&gt; &lt;/company&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload