Использовать expat или другой XML-парсер; это более явно, чем что-либо еще, учитывая, что вы все равно имеете дело с данными XML.
Однако обратите внимание, что имена элементов XML не могут начинаться с цифры, поскольку в вашем примере они есть.
Вот парсер, который будет делать то, что вам нужно, хотя вам нужно настроить его так, чтобы объединить дублирующиеся элементы в один ключ dict:
from xml.parsers.expat import ParserCreate
open_elements = {}
result_dict = {}
def start_element(name, attrs):
open_elements[name] = True
def end_element(name):
del open_elements[name]
def char_data(data):
for element in open_elements:
cur = result_dict.setdefault(element, '')
result_dict[element] = cur + data
if __name__ == '__main__':
p = ParserCreate()
p.StartElementHandler = start_element
p.EndElementHandler = end_element
p.CharacterDataHandler = char_data
p.Parse(u'<_133_3><_135_3><_116_2>The other system worked for about 1 month</_116_2> got some good images <_137_3>on it then it started doing the same thing as the first one</_137_3> so then I quit using either camera now they are just sitting and collecting dust.</_135_3></_133_3>', 1)
print result_dict