@classmethod<EOL><INDENT>def _build_dict(cls, root_element, dict_type=collections.OrderedDict):<DEDENT>
result = dict_type()<EOL>for element in root_element:<EOL><INDENT>if "<STR_LIT:type>" in element.attrib:<EOL><INDENT>result[element.tag] = cls._build_base(element)<EOL><DEDENT>else:<EOL><INDENT>if all((_.tag == element.tag) for _ in element):<EOL><INDENT>result[element.tag] = cls._build_list(element, dict_type=dict_type)<EOL><DEDENT>else:<EOL><INDENT>result[element.tag] = cls._build_dict(element, dict_type=dict_type)<EOL><DEDENT><DEDENT><DEDENT>return result<EOL>
Builds a dictionary entry from a dictionary parent element.

        :param lxml.etree.Element root_element: The element to build from
        :param dict_type: The dictionary class to build with, defaults to
            :class:`collections.OrderedDict`, optional
        :return: The built dictionary
        :rtype: dict