def _extract(self, raw: str, station: str = None) -> str:
resp = parsexml(raw)<EOL>try:<EOL><INDENT>report = resp['<STR_LIT>']['<STR_LIT:data>'][self.rtype.upper()]<EOL><DEDENT>except KeyError:<EOL><INDENT>raise self.make_err(raw)<EOL><DEDENT>if isinstance(report, dict):<EOL><INDENT>report = report['<STR_LIT>']<EOL><DEDENT>elif isinstance(report, list) and report:<EOL><INDENT>report = report[<NUM_LIT:0>]['<STR_LIT>']<EOL><DEDENT>else:<EOL><INDENT>raise self.make_err(raw, '<STR_LIT>')<EOL><DEDENT>for item in (self.rtype.upper(), '<STR_LIT>'):<EOL><INDENT>if report.startswith(item + '<STR_LIT:U+0020>'):<EOL><INDENT>report = report[len(item) + <NUM_LIT:1>:]<EOL><DEDENT><DEDENT>return report<EOL>
Extracts the raw_report element from XML response