我正在開發一個使用外部數據源(如服務器)的數據的android應用程序。數據使用DOM解析器檢索。我的實際問題是在android中讀取xml標籤的屬性
<enclosure url="http://news.oneindia.in/img/2014/07/15-tripura-map-600.jpg" type="image/jpeg" length="810000"/>
從標記外殼我想檢索我的應用程序的網址。
當我檢索機箱標籤時,我收到空。
那麼我怎麼能從標籤內部獲取數據呢?
<item>
<title>Modi in Brazil, Israel airstrike: Follow News In Brief: July 15</title>
<link>http://news.oneindia.in/india/follow-news-brief-july-15-1482982.html</link>
<guid>http://news.oneindia.in/india/follow-news-brief-july-15-1482982.html</guid>
<description>Bangalore, July 15: Follow news in brief for the day: 2:40 pm:&nbsp;Lalu, Nitish to forge alliance for Bihar Assembly by-polls 2:22 pm:&nbsp;World Cup 2014 champions German team arrives in home country, receives grand welcome 1:50 pm:&nbsp;30 die of </description>
<enclosure url="http://news.oneindia.in/img/2014/07/15-pm-narendramodi-brics.jpg" type="image/jpeg" length="810000"/>
<pubDate>Tue, 15 Jul 2014 08:48:32 +0530</pubDate>
</item>
<item>
<title>Heavy rain alert for Uttarakhand</title>
<link>http://news.oneindia.in/india/heavy-rain-alert-uttarakhand-1482983.html</link>
<guid>http://news.oneindia.in/india/heavy-rain-alert-uttarakhand-1482983.html</guid>
<description>Lucknow/Dehradun, July 15: An alert has been sounded in Uttarakhand after incessant rains in many parts of the state for the last 48 hours, officials said Tuesday.The hill state is likely to experience very heavy rainfall Wednesday, the Met Office said. </description>
<enclosure url="http://news.oneindia.in/img/2014/07/15-dehradun-map-600.jpg" type="image/jpeg" length="810000"/>
<pubDate>Tue, 15 Jul 2014 08:48:06 +0530</pubDate>
</item>
<item>
<title>Former US president Bill Clinton arrives in Jaipur</title>
<link>http://news.oneindia.in/india/former-us-prez-bill-clinton-arrives-in-jaipur-1482985.html</link>
<guid>http://news.oneindia.in/india/former-us-prez-bill-clinton-arrives-in-jaipur-1482985.html</guid>
<description>Jaipur, July 15: Former US President Bill Clinton arrived here on Monday night on a tour during which he will visit a kitchen being run for schoolchildren by an NGO. Clinton landed with his delegation at the international airport at </description>
<enclosure url="http://news.oneindia.in/img/2014/07/15-bill-clinton-latest.jpg" type="image/jpeg" length="810000"/>
<pubDate>Tue, 15 Jul 2014 01:25:31 +0530</pubDate>
</item>
從上面的xml我想提取內部的內容。
這裏是我的Java代碼
public class Second_Listview extends Activity {
private GestureDetector gestureDetector;
// All static variables
// static final String URL = "http://ibnlive.in.com/ibnrss/top.xml";
String URL;
// XML node keys
static final String KEY_SONG = "item"; // parent node
static final String KEY_ID = "description";
static final String KEY_TITLE = "title";
static final String KEY_ARTIST = "pubDate";
static final String KEY_DURATION = "link";
static final String KEY_DIS = "description";
static final String KEY_THUMB_URL = "enclosure";
ListView list;
LazyAdapter adapter;
String descrption;
String image;
String main_title;
ProgressBar progress;
String KEY_IMAGE;
String imgurl;
// >>> in case of data connection failure
// flag for Internet connection status
Boolean isInternetPresent = false;
// Connection detector class
ConnectionDetector cd;
@Override
public void onCreate(Bundle savedInstanceState) {
gestureDetector = new GestureDetector(
new SwipeGestureDetector());
//reciving intent data
Intent intent = getIntent();
main_title = getIntent().getExtras().getString("title_key").trim();
super.onCreate(savedInstanceState);
setTitle(main_title); // setting title bar title
setContentView(R.layout.main);
progress=(ProgressBar)findViewById(R.id.progressBarMain);
progress.setVisibility(View.GONE);
//reciving intent data
String page_id = getIntent().getExtras().getString("webpage_key"); //reciving intent data
URL = page_id.trim(); // trimming data to avoid space
ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL);// getting XML from URL
Document doc = parser.getDomElement(xml); // getting DOM element
NodeList nl = doc.getElementsByTagName(KEY_SONG);
// looping through all song nodes <song>
for (int i = 0; i < nl.getLength(); i++) {
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
descrption = parser.getValue(e, KEY_THUMB_URL);
if (e.getNodeName().contains("enclosure") && e.hasAttributes()){
imgurl= e.getAttribute("url").toString();
}
System.out.println("VALUE INSIDE>>>>>>>>>>> "+url+" <<<< DDDD"+ descrption);
// adding each child node to HashMap key => value
map.put(KEY_ID, parser.getValue(e, KEY_ID));
map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE));
map.put(KEY_ARTIST, parser.getValue(e, KEY_ARTIST));
map.put(KEY_DURATION, parser.getValue(e, KEY_DURATION));
map.put(KEY_DIS, parser.getValue(e, KEY_DIS));
map.put(KEY_IMAGE, imgurl);
如在後指定我進去descrption值爲null
您使用哪些代碼「檢索機箱標籤」?通過閱讀你的問題很難幫助你。 – f1sh