gpt4 book ai didi

android - 描述、Android、RSS、XML 解析器中的进程标签

转载 作者:行者123 更新时间:2023-11-30 01:47:50 25 4
gpt4 key购买 nike

我的 Android RSS 阅读器有点问题。我正在使用 XML 解析器从 RSS 提要中获取标签,但有时,在描述中,我有很多 - 比如,<description> <img src="some random url"><table... , ETC。我想处理它们,尤其是。 IMG 标签。我如何处理所有这些(因为现在我在描述中有一堆未解析的代码)。这是我的解析器类的读取函数。

   private List<RssItem> readFeed(XmlPullParser parser) throws XmlPullParserException, IOException {
parser.require(XmlPullParser.START_TAG, null, "rss");
String title = null;
String link = null;
String description = null;
String pubDate = null;
String url = null;
List<RssItem> items = new ArrayList<RssItem>();
while (parser.next() != XmlPullParser.END_DOCUMENT) {
if (parser.getEventType() != XmlPullParser.START_TAG) {
continue;
}
String name = parser.getName();
if (name.equals("title")) {
title = readTitle(parser);
} else if (name.equals("link")) {
link = readLink(parser);
}
else if(name.equals("description")) {
description = readDescription(parser);
}
else if(name.equals("pubDate")) {
pubDate = readPubDate(parser);
}

if (title != null && link != null) {
RssItem item = new RssItem(title, link, description, pubDate, url);
items.add(item);
title = null;
link = null;
description = null;
pubDate = null;
url = null;
}
}
return items;
}


private String readDescription(XmlPullParser parser) throws XmlPullParserException, IOException{
parser.require(XmlPullParser.START_TAG, ns, "description");
String description = readText(parser);
parser.require(XmlPullParser.END_TAG, ns, "description");
return description;
}

private String readText(XmlPullParser parser) throws IOException, XmlPullParserException {
String result = "";
if (parser.next() == XmlPullParser.TEXT) {
result = parser.getText();
parser.nextTag();
}
return result;
}

预先感谢您的回答

最佳答案

我有类似的问题,解决方案的一部分是您可以将描述作为字符串并将其传递给返回字符串数组以表示参数的方法。 jsoup 库可以帮助提取图像链接。仍然不知道它是否可以提取其他参数。这是我到目前为止所做的。

public String[] stripHtml(String html) {
Document document = Jsoup.parse(html);
String picLink = document.select("img").first().attr("src");
String result = Html.fromHtml(html).toString();
result = result.substring(0, result.indexOf('['));
String[] linkAndDescription = {picLink, result};

return linkAndDescription;
}

编辑这是针对我的情况的完整解决方案,我想解析图像链接和描述文本。

public String[] stripHtml(String html) {
Document document = Jsoup.parse(html);
//piclink
String picLink = document.select("img").first().attr("src");
//description
String text = document.select("p").first().text();
text = text.substring(0, text.indexOf('['));
String[] linkAndDescription = {picLink, text};

return linkAndDescription;
}

关于android - 描述、Android、RSS、XML 解析器中的进程标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33458169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com