我正在尝试从XML事件的可迭代流访问特定的XML标记名称。有没有办法,无论标签/元素名称如何,我只能找到一种打印每个XmlEvent文本的方式?在我的代码下面。

Future<String> getDataFromXml() async {
  String xmlString = await DefaultAssetBundle.of(context)
      .loadString('assets/gpx/filename');

var events = parseEvents(xmlString).whereType<XmlTextEvent>();

Stream.fromIterable(events)
      .where((event) => event is XmlEvent)
      .cast<XmlEvent>()
      .forEach(print);
我了解如何从已解析的XML文档(不是流)而不是从XML事件流访问元素。

最佳答案

我建议您避免使用XML数据。您应该尽早将XML数据转换为JSON。从这个 Angular 来看,您可以使用xml2json包。

  final myTransformer = Xml2Json();

  // Parse a simple XML string

  myTransformer.parse(xmlString);

  var jsonData = myTransformer.toParker();

10-08 01:22