{"record":{"id":"d16863caae10f20a","repo":"ytdl-org/youtube-dl","slug":"s-failed-to-parse-xml","errorCode":null,"errorMessage":"%s: Failed to parse XML ","messagePattern":"(.+?): Failed to parse XML ","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/common.py","lineNumber":908,"sourceCode":"\n        See _download_webpage docstring for arguments specification.\n        \"\"\"\n        res = self._download_xml_handle(\n            url_or_request, video_id, note=note, errnote=errnote,\n            transform_source=transform_source, fatal=fatal, encoding=encoding,\n            data=data, headers=headers, query=query,\n            expected_status=expected_status)\n        return res if res is False else res[0]\n\n    def _parse_xml(self, xml_string, video_id, transform_source=None, fatal=True):\n        if transform_source:\n            xml_string = transform_source(xml_string)\n        try:\n            return compat_etree_fromstring(xml_string.encode('utf-8'))\n        except compat_xml_parse_error as ve:\n            errmsg = '%s: Failed to parse XML ' % video_id\n            if fatal:\n                raise ExtractorError(errmsg, cause=ve)\n            else:\n                self.report_warning(errmsg + str(ve))\n\n    def _download_json_handle(\n            self, url_or_request, video_id, note='Downloading JSON metadata',\n            errnote='Unable to download JSON metadata', transform_source=None,\n            fatal=True, encoding=None, data=None, headers={}, query={},\n            expected_status=None):\n        \"\"\"\n        Return a tuple (JSON object, URL handle).\n\n        See _download_webpage docstring for arguments specification.\n        \"\"\"\n        res = self._download_webpage_handle(\n            url_or_request, video_id, note, errnote, fatal=fatal,\n            encoding=encoding, data=data, headers=headers, query=query,\n            expected_status=expected_status)\n        if res is False:","sourceCodeStart":890,"sourceCodeEnd":926,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/common.py#L890-L926","documentation":"Error \"%s: Failed to parse XML \" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/common.py:908 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check that the server returned well-formed XML; if the site changed its markup, update youtube-dl."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}