• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1924
  • Last Modified:

Trying to get XML from an URL

Previously, I used the the XML file from the assets folder. The app can read it very well. The next step I want put this XML on the web server. But at this stage, the app cannot recognize any data. It confused me couple of days.

AssetManager asset = getAssets();
InputStream input = asset.open("student.xml");
List<Student> list = ParserByPULL.getStudents(input);

Open in new window


Everything works fine if the file in assets folder. Then I tried to get it from an URL.

String path = "http://fthgyj.tup632.cnaaa11.com/student.xml";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
InputStream input = url.openConnection().getInputStream(); 
List<Student> list = ParserByPULL.getStudents(input);

Open in new window


I have added the permission of connecting the INTERNET at manifest file.
After these steps, I have run the app. Unfortunately, nothing shows on the screen. There are some permission warnings in LogCat, but it shows all time when I fetch the file from Assets. So I dont think the problem is the permission.  
Does anyone has an idea about this? Thank you.
0
ron154
Asked:
ron154
1 Solution
 
KRUNAL TAILORFreelance Mobile DeveloperCommented:
Hi ron154,

First let me know what are you trying to achieve?

If you wan't to send xml file on server(means upload on server) in that case this below links will help you,
1) http://androidcodeforbeginners.blogspot.in/2013/05/send-xml-data-from-android-to-php-server.html
2) http://beshkin.lv/post-xml-file-to-a-page-from-android/

But,

if you wan't to get xml file from server (means download from server), because your code suggest it you are trying to download it from server. may be i am wrong but, if you wan't to grab the xml file from server in that case you can do this.

uri = new HttpGet("http://fthgyj.tup632.cnaaa11.com/student.xml");
 
client = new DefaultHttpClient();
resp = client.execute(uri);
status = resp.getStatusLine();
if (status.getStatusCode() == "200") {
    factory = DocumentBuilderFactory.newInstance();
    builder = factory.newDocumentBuilder();
    doc = builder.parse(resp.getEntity().getContent());
    ...
    // Your code for reading XML doc 
}

Open in new window


OR

1) By using HTTP Request getting the XML content.
2) Parsing the XML content and retrieve DOM element in the XML.
3) Retrieve each element child element value by using node name of element.

Follow this link: http://androidituts.com/android-xml-parsing-tutorial/

Thanks & Regards,
Krunal T. Tailor
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now