parseXml method

Map parseXml(
  1. String xml
)

Return an Map object for the given the path of XML plist format string.

Implementation

Map parseXml(String xml) {
  Iterable<XmlElement> elements;
  try {
    var doc = XmlDocument.parse(xml);
    elements = doc.rootElement.children.where(_isElement).cast<XmlElement>();
  } catch (e) {
    throw XmlParserException(e.toString());
  }
  if (elements.isEmpty) {
    throw NotFoundException('Not found plist elements');
  }
  if (elements.first.localName == 'array') {
    // array
    return _handleArray(elements.first).asMap();
  } else {
    // dictionary
    return _handleDict(elements.first);
  }
}