我正在尝试从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();