code: def _clean_illegal_xml_chars(string_to_clean):
      """Remove any illegal unicode characters from the given XML string.
  
      @see: http://stackoverflow.com/questions/1707890/fast-way-to-filter-illegal-xml-unicode-chars-in-python
      """
      illegal_unichrs = [
          (0x00, 0x08),
          (0x0B, 0x1F),
          (0x7F, 0x84),
          (0x86, 0x9F),
          (0xD800, 0xDFFF),
          (0xFDD0, 0xFDDF),
          (0xFFFE, 0xFFFF),
          (0x1FFFE, 0x1FFFF),
          (0x2FFFE, 0x2FFFF),
          (0x3FFFE, 0x3FFFF),
          (0x4FFFE, 0x4FFFF),
          (0x5FFFE, 0x5FFFF),
          (0x6FFFE, 0x6FFFF),
          (0x7FFFE, 0x7FFFF),
          (0x8FFFE, 0x8FFFF),
          (0x9FFFE, 0x9FFFF),
          (0xAFFFE, 0xAFFFF),
          (0xBFFFE, 0xBFFFF),
          (0xCFFFE, 0xCFFFF),
          (0xDFFFE, 0xDFFFF),
          (0xEFFFE, 0xEFFFF),
          (0xFFFFE, 0xFFFFF),
          (0x10FFFE, 0x10FFFF),
      ]
  
      illegal_ranges = [
          f"{chr(low)}-{chr(high)}"
          for (low, high) in illegal_unichrs
          if low < sys.maxunicode
      ]
  
      illegal_xml_re = re.compile(
          u("[%s]") % u("").join(illegal_ranges)
      )
      return illegal_xml_re.sub("", string_to_clean)
  
file_path: deepchecks/deepchecks/core/serialization/suite_result/junit.py
imports: import re
  import sys
  import xml.etree.ElementTree
  from datetime import datetime
  from typing import Dict, List, Union
  from six import u
  from deepchecks.core import check_result
  from deepchecks.core import suite
  from deepchecks.core.serialization.abc import JunitSerializer
  from deepchecks.core.serialization.check_failure.junit import FAILURE, SKIPPED, CheckFailureSerializer
  from deepchecks.core.serialization.check_result.junit import CheckResultSerializer
label_desc: Use image node_id 1 for calling a global function with example usage: _clean_illegal_xml_chars(string_to_clean) and returns: illegal_xml_re