在Dart中读取XML文件

时间:2016-03-08 23:56:15

标签: xml dart

我是Dart语言的新手。

我想阅读一个XML文件,我正在关注这些链接(它们实用性相同)https://pub.dartlang.org/packages/xml或github的页面https://github.com/renggli/dart-xml

但是我遇到了一些像“findAllElements”这样的方法的问题。我正在我的dart文件中导入他们拥有的xml库并导入集合,核心和html:

library xml;    
import 'dart:collection';
import 'dart:core';
import 'dart:html';

我的代码是:

  var document = responseText;

  var titles = document.findAllElements('trkpt');

  titles
      .map((node) => node.text)
      .forEach(print);

我测试程序时遇到此错误:

  

NoSuchMethodError:找不到方法:'findAllElements'

我需要更多地导入什么?我仍在探索这种语言,我的目标只是从XML获取数据并为其应用过滤器!任何教程?有什么建议吗?

1 个答案:

答案 0 :(得分:5)

我发现有两个问题,但我可能会遗漏部分代码:

  • 您没有指定responseText是什么,但它看起来像String。如您链接的教程中所述,您需要先解析文本,然后才能对其执行查询。

  • 您不导入XML库,请按照https://pub.dartlang.org/packages/xml上的安装说明进行操作。

以下最小示例适用于我:

library example;

import 'package:xml/xml.dart' as xml;

void main() {
  var storeXml = '<?xml?><store><book title="First"/><book title="Second"/></store>';
  var storeDocument = xml.parse(storeXml);
  print(storeDocument.findAllElements('book'));
}