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



我想用XML给出一个子节点的值,它是一个URL,然后把这个值放在String中。在解析XML之后,我使用HashMap将映射放在列表(songList)中。xml中的thumb_url包含url的值,我想把这个值放在一个名为"link"的字符串中。

    // 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 DownloadFileFromURLL().execute(link);"的"链接",在按下songList的行后下载。向大家致以最良好的问候。

我找到了答案。

诀窍是我应该传递链接表单适配器。我向适配器的getView()中的视图添加了一个标记。CCD_ 2。然后通过String Link = view.getTag().toString(); 在主活动中获得该值

我希望这能帮助到某人:)

最新更新