FishHook
А для стандарта? xml - регистронезависимый язык
>>> import lxml.etree
>>>
>>> doc = lxml.etree.parse('f.xml')
>>> root = doc.getroot()
>>>
>>> root.find('number')
>>> root.find('NUMBER')
<Element NUMBER at 0xb6fd770c>
>>>
>>> root.xpath(r'.//number')
[]
>>> root.xpath(r'.//NUMBER')
[<Element NUMBER at 0xb6fd766c>]
>>>
>>> from xml.etree import ElementTree as ET
>>>
>>> doc = ET.parse('f.xml')
>>> root = doc.getroot()
>>>
>>> root.find('number')
>>> root.find('NUMBER')
<Element 'NUMBER' at 0xb73dacac>
>>>
>>> root.findall(r'.//number')
[]
>>> root.findall(r'.//NUMBER')
[<Element 'NUMBER' at 0xb73dacac>]
>>>
Для стандарта регистр не имеет значения, а для модулей и для человека - имеет.
По стандарту это вообще вот так выглядит
<?xml version="1.0" encoding="UTF-8"?><document><number>00000025</number><date>2016-02-04</date></document>
Так вот длинные документы вообще невозможно читать, если они генерятся программой.
Все переносы строк, как и регистр в тегах, - это для удобного чтения человеком. Если там всё это есть, то есть вероятность, что это писал человек для человека. То есть нужно бы всё это сохранить, а то вдруг это кто-то уже давно читает.
FishHook
И почему у тебя там 26? Ведь 00000025, как и 26, - это не число, а текстовая строка.