'Parses xml body listing and decrypt encrypted entries. Updates
Content-Length header with new body length and return a body iter.'

def process_xml_resp(self, key, resp_iter):

    with closing_if_possible(resp_iter):
        resp_body = ''.join(resp_iter)
    tree = ElementTree.fromstring(resp_body)
    for elem in tree.iter('hash'):
        ciphertext = elem.text.encode('utf8')
        plain = self.decrypt_value_with_meta(ciphertext, key)
        elem.text = plain.decode('utf8')
    new_body = ElementTree.tostring(tree, encoding='UTF-8').replace("<?xml    version='1.0'    encoding='UTF-8'?>", '<?xml    version="1.0"    encoding="UTF-8"?>', 1)
    self.update_content_length(len(new_body))
    return [new_body]
