Parsowanie xml'a za pomocą etree

0

Parsuję plik xml za pomocą ww biblioteki.

root = ''
path = '../../data.xml'
tree = etree.parse(path)
tree.write(path)

Plik przed parsowanie zaczyna się od linii typowej dla plików xml.

<?xml version="1.0" encoding="UTF-8"?>

Po parsowaniu ta linia znika i głupio to wygląda w git difie.

Jest jaki sposówb na to?

0

Sprobuj tego: https://stackoverflow.com/questions/12966488/preserving-original-doctype-and-declaration-of-an-lxml-etree-parsed-xml . Co prawda inna biblioteka, ale API powinno byc (prawie) takie samo.

0
tree.write(path, xml_declaration=True)
0

Jako tako działa.

Przed parsowaniem było:

<?xml version="1.0" encoding="UTF-8"?>

a po parsowaniu:

<?xml version='1.0' encoding='UTF-8'?>

Pozostał jeden gorszy problem. Po parsowaniu zmienia się EOL. Było "\r\n" a jest "\n"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.