import 'dart:core'; import 'package:xml/xml.dart'; XmlElement? findFirstElement( XmlNode? node, String name, { bool recursive = false, String? namespace, }) { try { return findElements(node, name, recursive: recursive, namespace: namespace) ?.first; } on StateError { return null; } } Iterable? findElements( XmlNode? node, String name, { bool recursive = false, String? namespace, }) { try { if (recursive) { return node?.findAllElements(name, namespace: namespace); } else { return node?.findElements(name, namespace: namespace); } } on StateError { return null; } } bool parseBoolLiteral(XmlElement element, String tagName) { var v = findFirstElement(element, tagName)?.text.toLowerCase().trim(); if (v == null) return false; return ['yes', 'true'].contains(v); }