I am a novice Android Developer I am trying to parse Xml from URL.I am able to parse a XML file in assets folder but i am not able to parse url from web page and this is my code given below`public class
public class MainActivity extends ActionBarActivity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list);
List<Device> devices = null;
try {
XMLPullParserHandler parser = new XMLPullParserHandler();
devices = parser.parse(getAssets().open("xml.php"));
ArrayAdapter<Device> adapter =
new ArrayAdapter<Device>(this, R.layout.list_item,devices);
listView.setAdapter(adapter);
} catch (IOException e) {
e.printStackTrace();
// TODO: handle exception
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//
public class XMLPullParserHandler {
List<Device> devices;
private Device device;
private String text;
public XMLPullParserHandler(){
devices = new ArrayList<Device>();
}
public List<Device>getDevices(){
return devices;
}
public List<Device> parse(InputStream is){
XmlPullParserFactory factory = null;
XmlPullParser parser = null;
try {
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
parser = factory.newPullParser();
parser.setInput(is,null );
int eventType = parser.getEventType();
while(eventType != XmlPullParser.END_DOCUMENT){
String tagname = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if (tagname.equalsIgnoreCase("device")){
device = new Device();
}
break;
case XmlPullParser.TEXT:
text = parser.getText();
break;
case XmlPullParser.END_TAG:
if (tagname.equalsIgnoreCase("device")) {
devices.add(device);
}else if(tagname.equalsIgnoreCase("id")){
device.setId(Integer.parseInt(text));
}else if(tagname.equalsIgnoreCase("devName")){
device.setDevname(text);
}else if(tagname.equalsIgnoreCase("devID")){
device.setDevid(text);
}else if(tagname.equalsIgnoreCase("devDes")){
device.setDevDes(text);
}else if(tagname.equalsIgnoreCase("img")){
device.setDevimg(text);
}else if(tagname.equalsIgnoreCase("chart")){
device.setDevchart(Integer.parseInt(text));
}else if(tagname.equalsIgnoreCase("type")){
device.setDevtype(Integer.parseInt(text));
}
break;
default:
break;
}
eventType = parser.next();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return devices;
}
}
No comments:
Post a Comment