Parsing CDATA from xml/rss feed in android but XML parser ignore data within



I need to Parsing CDATA from xml/rss feed in android but XML parser ignore data within CDATA from this url: http://ift.tt/1lVQEwO


code here


import java.util.ArrayList; import java.util.List;


import javax.xml.xpath.XPath; import javax.xml.xpath.XPathFactory;


import org.w3c.dom.Document;


import org.w3c.dom.Element;


import org.w3c.dom.NodeList;


import android.app.Activity;


import android.os.AsyncTask;


import android.os.Bundle;


import android.widget.ListView;


public class MainActivity extends Activity {



private ListView event_list;
private List<Model> arrayOfList;
private Adaptor_Events objAdapter;
private String eventsURL;
private String eventTitle, venuName, dateTime, desc, picURI;
private String KEY_ITEM = "newsItem"; // main item key

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
event_list = (ListView) findViewById(R.id.newsList);
new Async().execute();
}

private class Async extends AsyncTask<String, Void, Boolean> {
private String response, message;

@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
arrayOfList = new ArrayList<Model>();
eventsURL = "http://ift.tt/1lVQEwO";

}

@Override
protected Boolean doInBackground(String... params) {
// TODO: attempt authentication against a network service.
XMLParser parser = new XMLParser();
XPath xPath = XPathFactory.newInstance().newXPath();
String xml = parser.getXmlFromUrl(eventsURL); // getting XML
Document doc = parser.getDomElement(xml); // getting DOM element
NodeList nl = doc.getElementsByTagName(KEY_ITEM);

try {
for (int i = 0; i < nl.getLength(); i++) {
Element e = (Element) nl.item(i);
arrayOfList.add(new Model(parser.getValue(e, "newsTitle"),
parser.getValue(e, "imageURL"), parser.getValue(e,
"newsURL"), parser.getValue(e, "newsDesc"),
parser.getValue(
e,
xPath.evaluate(
"//newsItem/newsDetails/text()",
doc).trim()), parser.getValue(e,
"newsDate")));

}

} catch (Exception e) {
e.printStackTrace();

}
return null;

}

@Override
protected void onPostExecute(final Boolean success) {
setAdapterToListview();

}

}

public void setAdapterToListview() {
objAdapter = new Adaptor_Events(MainActivity.this, R.layout.item_list,
arrayOfList);
event_list.setAdapter(objAdapter);
}


}


No comments:

Post a Comment