如何使用Flutter xml库获取XML文件中节点的attribute属性数据
解决方法
你已经完成了XML文件加载和节点查找的逻辑,接下来调用XmlElement自带的getAttribute方法即可获取指定属性值,修改后的完整代码如下:
Future<String?> getXmlData() async{ var document = XmlDocument.parse(await rootBundle.loadString('assets/data/widow.xml')); var chekListNodes = document.findAllElements('ChekList'); // 存在匹配节点时返回requirement属性值,否则返回null if(chekListNodes.isNotEmpty){ return chekListNodes.first.getAttribute('requirement'); } return null; }
说明
findAllElements返回的是所有匹配ChekList标签的节点集合,如果你有多个同标签节点,遍历集合逐个取值即可- 你原有代码中的
document.toXmlString()没有实际作用,可以直接删除 - 如果你确定XML文件中必然存在该属性和节点,可以直接用
chekListNodes.first.getAttribute('requirement')!强制返回非空字符串
内容的提问来源于stack exchange,提问作者GDTyka
相关产品推荐
相关产品推荐

