parse function

XmlDocument parse (
  1. String input,
  2. {XmlEntityMapping entityMapping: const XmlDefaultEntityMapping.xml()}
)

Return an XmlDocument for the given input string, or throws an XmlParserException if the input is invalid.

For example, the following code prints Hello World:

final document = parse('<?xml?>'); print(document.rootElement.getAttribute('message'));

Note: It is the responsibility of the caller to provide a standard Dart String using the default UTF-16 encoding.

Implementation

XmlDocument parse(String input,
    {XmlEntityMapping entityMapping = const XmlDefaultEntityMapping.xml()}) {
  final result = _parserCache[entityMapping].parse(input);
  if (result.isFailure) {
    final lineAndColumn = Token.lineAndColumnOf(result.buffer, result.position);
    throw XmlParserException(result.message,
        buffer: result.buffer,
        position: result.position,
        line: lineAndColumn[0],
        column: lineAndColumn[1]);
  }
  return result.value;
}