Опитвам се да изпълня XML подписване за SOAP уеб услуга. Част от това включва вземане на буквалния низ на XML елемент и усвояването му с помощта на SHA1. Проблемът, който имам, е, че ако намеря елемента за усвояване и използвам функцията lxml
etree.tostring(some_element)
което е единственият начин, по който знам как да изобразя елемента, той не се изобразява по същия начин, както би се появил в целия документ, ако това е изобразено; по-специално, lxml изхвърля много дефиниции на псевдоними на пространство от имена в тага. Това разбира се означава, че ако хеширам изхода от горното, резултатът ще бъде различен от хеша, изчислен върху елемента, тъй като той е изобразен в рамките на целия документ, и така проверката е неуспешна.
Има ли добър начин да се заобиколи това, без да се изобразява целият документ и да се опитвате да reg-ex елемента до хеширане или подобно?