解析HTML数据时出错

解析HTML数据时出错

我一直在尝试修改代码available here,以使VMoneyNews中的titledateAdded在应用程序listView中可见。

不幸的是,当我尝试运行以下已编辑的代码时,出现以下图像中指出的错误。

http.Response response = await http.get('https://www.virtualmoneysnews.com/category/bitcoin-news/');

//parse and extract the data from the web site
dom.Document document = parser.parse(response.body);
document.getElementsByTagName('article').forEach((child) {
  jobsList.add(Job(
    title: child.getElementsByClassName('title').first.text,
    dateAdded: child.getElementsByClassName('thetime date updated').last.text,

  ));
});

android - Flutter-解析HTML数据时出错-LMLPHP

最佳答案

您可能应该删除依赖于item.location的该代码段,而无需填充它。

            Text(
              item.location.trim(),
              style: TextStyle(
                  color: Colors.white, fontWeight: FontWeight.bold),
            ),

我将重构Job类以将其重命名为ArticleHeadlineStory,即有意义的东西。例如:
class Story {
  String title;
  String dateAdded;

  Story(this.title, this.dateAdded);

  @override
  String toString() => '$title $dateAdded';
}

然后可以编写您的抓取代码:
http.Response response = await http
    .get('https://www.virtualmoneysnews.com/category/bitcoin-news/');
dom.Document document = parser.parse(response.body);

List<Story> stories = document
    .getElementsByTagName('article')
    .map((e) => Story(
          e.getElementsByClassName('title').first.text,
          e.getElementsByClassName('thetime date updated').last.text,
        ))
    .toList();

关于android - Flutter-解析HTML数据时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51899322/

10-10 07:00