and the destructive version (identical entries will be merged):
```python
def etree_to_dict(t):
    return {t.tag.split('}')[1]: dict(chain(*map(lambda x: etree_to_dict(x).items(), t.iterchildren()))) or t.text}
# result
{'crossref_result': {'query_result': {'body': {'query': {'article_title': 'Part IV. Fishing Gear, Fishing Methods, and Fishing Boats',
                                                         'contributors': {'contributor': {'given_name': 'Katuji',
                                                                                          'surname': 'Honda'}},
                                                         'doi': '10.2331/suisan.32.804',
                                                         'first_page': '804',
                                                         'issn': '0021-5392',
                                                         'issue': '9',
                                                         'journal_title': 'NIPPON SUISAN GAKKAISHI',
                                                         'last_page': '815',
                                                         'publication_type': 'full_text',
                                                         'volume': '32',
                                                         'year': '1966'}},
                                      'head': {'doi_batch_id': 'none'}}}}
```