Potrzebuję usunąć białe spacje między tagami xml, np. jeśli oryginalny xml wygląda następująco:Crunching xml z pythonem
<node1>
<node2>
<node3>foo</node3>
</node2>
</node1>
Chciałbym końcowy rezultat będzie nawał dół do jednej linii:
<node1><node2><node3>foo</node3></node2></node1>
Należy pamiętać, że nie będę mieć kontrolę nad xml strukturę, więc rozwiązanie powinno być na tyle ogólne, aby móc obsłużyć dowolny poprawny xml. Również xml może zawierać bloki CDATA, które muszę wykluczyć z tego chrupania i pozostawić je tak jak jest.
Mam kilka pomysłów do tej pory: (1) parsować xml jako tekst i szukać początku i końca tagów < i> (2) innym podejściem jest załadowanie dokumentu xml i przejście od węzła po węźle i wydrukuj nowy dokument nowy, łącząc znaczniki.
Myślę, że albo metoda by działała, ale wolałbym nie wymyślać koła tutaj, więc może być tam biblioteka Pythona, która już robi coś takiego? Jeśli nie, to czy są jakieś problemy/pułapki, o których należy pamiętać po wprowadzeniu własnego klienta cruncher? Wszelkie zalecenia?
EDIT Dziękuję wszystkim za odbieranie/sugestie, zarówno Tryptyk i rozwiązania Van Gale pracy dla mnie i robić dokładnie to, co chcę. Chciałbym móc przyjąć obie odpowiedzi.
Nie sądzę, że to całkiem słuszne, ponieważ usunie ważne białe spacje na końcu zawartości. Ale przypomniało mi się, że mój fragment robi coś złego z CDATA, więc dzięki za to! :) –
Dzięki! Dokładnie to chciałem –
Ale to ZMIEŃ dokument! To już nie jest równy dokument XML ... –