解析XML并将子节点的值赋给String

时间:2012-08-03 10:54:39

标签: android xml xml-parsing android-xml

我想在XML中给出一个子节点的值,这是一个URL,然后将该值放在String中。我在解析XML之后使用HashMap将地图放入列表(songList)。 xml中的thumb_url包含URL的值,我想将该值放在名为“link”的String中。

    // XML node keys
static final String KEY_SONG = "song"; // parent node
static final String KEY_ID = "id";
static final String KEY_TITLE = "title";
static final String KEY_ARTIST = "artist";
static final String KEY_DURATION = "duration";
static final String KEY_THUMB_URL = "thumb_url";

    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);
        // 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_THUMB_URL, parser.getValue(e, KEY_THUMB_URL));



        // adding HashList to ArrayList
        songsList.add(map);

    }

我实际上想要将“链接”提供给“new DownloadFileFromURL()。execute(link);”按下songList的行后下载。 最好的问候每个人。

1 个答案:

答案 0 :(得分:0)

我找到了答案。

诀窍是我应该传递链接表单适配器。我将视图中的标记添加到适配器的getView()中。 view.setTag(song.get(MainActivity.KEY_LINK));。然后通过String Link = view.getTag().toString();

在主要活动中获取此值

我希望这可以帮助某人:)