I have a question, I tried to parse my xml file from assets folder, I tried it with android 2.3.5 it works but when I tried it in android 4.0.4 and 4.1 it it doesnt give any error but I coudnt get values from xml, let me show you part of my code ;\[code\] public class PlistParser { // parse Plist and fill in arraylist public ArrayList<DataModel> parsePlist(String xml) { final ArrayList<DataModel> dataModels = new ArrayList<DataModel>(); //Get the xml string from assets final Document doc = XMLfromString(xml); final NodeList nodes_array = doc.getElementsByTagName("dict"); //Fill in the list items from the XML document for ( int index = 0; index < nodes_array.getLength(); index++ ) { final Node node = nodes_array.item(index); if ( node.getNodeType() == Node.ELEMENT_NODE ) { final Element e = (Element)nodes_array.item(index); final NodeList nodeKey = e.getElementsByTagName("key"); final NodeList nodeValue = http://stackoverflow.com/questions/12820125/e.getElementsByTagName("string"); DataModel model = new DataModel(); for (int i=0; i < nodeValue.getLength(); i++) { final Element eleKey = (Element)nodeKey.item(i); final Element eleString = (Element)nodeValue.item(i); if ( eleString != null ) { String strValue = http://stackoverflow.com/questions/12820125/getValue(eleString,"string"); if(getValue(eleKey, "key").equals("isim")) { model = new DataModel(); model.setIsim(strValue); } else if(getValue(eleKey, "key").equals("turu")) { model.setTuru(strValue); } else if(getValue(eleKey, "key").equals("kalori")) { model.setKalori(Float.parseFloat(strValue)); } else if(getValue(eleKey, "key").equals("protein")) { model.setProtein(Float.parseFloat(strValue)); } else if(getValue(eleKey, "key").equals("yag")) { model.setYag(Float.parseFloat(strValue)); } else if(getValue(eleKey, "key").equals("karbonhidrat")) { model.setKarbonhidrat(Float.parseFloat(strValue)); } else if(getValue(eleKey, "key").equals("lif")) { model.setLif(Float.parseFloat(strValue)); }else if(getValue(eleKey, "key").equals("aciklama")) { if ( strValue =http://stackoverflow.com/questions/12820125/= null ) { strValue =""; } model.setAciklama(strValue); dataModels.add(model); } } } } } return dataModels; } // Create xml document object from XML String private Document XMLfromString(String xml) { Document doc = null; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); InputSource is = new InputSource(); is.setCharacterStream(new StringReader(xml)); doc = db.parse(is); doc.getDocumentElement().normalize(); } catch (ParserConfigurationException e) { System.out.println("XML parse error: " + e.getMessage()); return null; } catch (SAXException e) { System.out.println("Wrong XML file structure: " + e.getMessage()); return null; } catch (IOException e) { System.out.println("I/O exeption: " + e.getMessage()); return null; } return doc; } // fetch value from Text Node only private String getElementValue(Node elem) { Node kid; if (elem != null) { if (elem.hasChildNodes()) { for (kid = elem.getFirstChild(); kid != null; kid = kid.getNextSibling()) { if (kid.getNodeType() == Node.TEXT_NODE) { return kid.getNodeValue(); } } } } return ""; } /// Fetch value from XML Node private String getValue(Element item, String str) { NodeList n = item.getElementsByTagName(str); return getElementValue(n.item(0)); }} \[/code\]