How to get XML data from assets in android?

I saved the XML file in the resource folder, and I want to get the XML data file that I saved in the assets in android, give me a solution.

<Response> <RequestID>1001</RequestID> <FunctionStatus></FunctionStatus> <Message></Message> <Result> <Banner> <Banner_List> <Banner_id>3794</Banner_id> <Banner_url>http://www.metromatinee.com/agile_dogs/05.jpg</Banner_url> <Movie_name>Rose Guitarinaal</Movie_name> <gender>Movie</gender> </Banner_List> </Response> 

I tried
InputStream is = getAssets().open("demo.xml");

but the exception is caused by any help ..

 03-27 11:03:04.939: E/AndroidRuntime(432): FATAL EXCEPTION: main 03-27 11:03:04.939: E/AndroidRuntime(432): java.lang.NullPointerException 03-27 11:03:04.939: E/AndroidRuntime(432): at android.content.ContextWrapper.getAssets(ContextWrapper.java:74) 03-27 11:03:04.939: E/AndroidRuntime(432): at com.service.example.DemoBussinessExecutePage.executeBussinessFunction(DemoBussinessExecutePage.java:230) 03-27 11:03:04.939: E/AndroidRuntime(432): at com.service.example.Service_Manager.executeBussinessFunction(Service_Manager.java:38) 03-27 11:03:04.939: E/AndroidRuntime(432): at com.service.example.Service_class$1.onClick(Service_class.java:57) 03-27 11:03:04.939: E/AndroidRuntime(432): at android.view.View.performClick(View.java:2408) 03-27 11:03:04.939: E/AndroidRuntime(432): at android.view.View$PerformClick.run(View.java:8816) 03-27 11:03:04.939: E/AndroidRuntime(432): at android.os.Handler.handleCallback(Handler.java:587) 03-27 11:03:04.939: E/AndroidRuntime(432): at android.os.Handler.dispatchMessage(Handler.java:92) 03-27 11:03:04.939: E/AndroidRuntime(432): at android.os.Looper.loop(Looper.java:123) 03-27 11:03:04.939: E/AndroidRuntime(432): at android.app.ActivityThread.main(ActivityThread.java:4627) 03-27 11:03:04.939: E/AndroidRuntime(432): at java.lang.reflect.Method.invokeNative(Native Method) 03-27 11:03:04.939: E/AndroidRuntime(432): at java.lang.reflect.Method.invoke(Method.java:521) 03-27 11:03:04.939: E/AndroidRuntime(432): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 03-27 11:03:04.939: E/AndroidRuntime(432): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 03-27 11:03:04.939: E/AndroidRuntime(432): at dalvik.system.NativeStart.main(Native Method) 
+4
source share
2 answers

And I have a solution for this.

 AssetManager am = Class.getAssets(); try { InputStream is = am.open("1001.xml"); int length = is.available(); byte[] data = new byte[length]; is.read(data); demoInput = new String(data).toString(); } catch (IOException e1) { e1.printStackTrace(); } 
+1
source

This is what worked for me.

  InputSource is = new InputSource(getResources().openRawResource(R.raw.config)); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc=db.parse(new InputSource(is.getByteStream())); doc.getDocumentElement().normalize(); NodeList nodeList = doc.getElementsByTagName("woeid"); for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); Element fstElmnt = (Element) node; fstElmnt.getElementsByTagName("countrywoeid").item(0).getTextContent(); fstElmnt.getElementsByTagName("countryname").item(0).getTextContent(); } 

Here is the XML inside the project source folder

  <settings> <title>Configuration</title> <Version>1.0</Version> <Gadgets>6</Gadgets> <woeid> <countrywoeid>2211096</countrywoeid> <countryname>Asia/Karachi</countryname> </woeid> <woeid> <countrywoeid>2211177</countrywoeid> <countryname>Asia/Karachi</countryname> </woeid> 
0
source

All Articles