#!/usr/bin/env python3 # # Copyright 2020 - The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """Utils to handle xml files.""" from xml.etree import ElementTree from aidegen import constant from aidegen.lib import aidegen_metrics from aidegen.lib import common_util def parse_xml(xml_file): """Parses the content of a XML file. Args: xml_file: An XML file path. Returns: An xml.etree.ElementTree object contains the XML parsing result. """ try: return ElementTree.parse(xml_file) except ElementTree.ParseError as err: aidegen_metrics.send_exception_metrics( constant.XML_PARSING_FAILURE, err, common_util.read_file_content(xml_file), constant.INVALID_XML.format(XML_FILE=xml_file))