Парсер значений из XML файла с записью в *.txt (Python)

1 500 руб. за проект
29 ноября 2023, 07:12 • 7 откликов • 37 просмотров
Необходим парсер определенных значений из XML файла, разбивкой полученных данных на блоки и запись их в *.txt файл.
(Пример в файле "example.xml.txt")

Подробнее:
Все интересующие значения начинаются после тега <locationInformation>

Текст после тега <location> нужно считать в одну строку, т.е. из

<ct:forestry id="G_00972" name="Кыштымское" description=""/>
<ct:subforestry id="G_U7348" name="Егозинское" description=""/>
<ct:tract name="" description=""/>
<ct:quarter>38</ct:quarter>
<ct:taxationUnit>17</ct:taxationUnit>
<ct:cuttingArea>1</ct:cuttingArea>

Получить строчку вида: Кыштымское_Егозинское_38_17_1
- предпочтительный разделитель значений: _
После этого следует перенос строки


Далее необходимо за тегом <explication> достать пары значений координат (теги <longitude>,<latitude>), т.е. из:

<explication>
<row>
<objectNumber>1</objectNumber>
<numberBegin>2</numberBegin>
<numberEnd>3</numberEnd>
<lineDirection>СВ81</lineDirection>
<lineLength>230</lineLength>
<longitude>60.53693</longitude>
<latitude>55.786169</latitude>
</row>

получить значения "55.786169" "60.53693" - именно в таком порядке, сначала <latitude>
Каждая пара значений - отдельная строка, разделитель значений - пробел.
Замечание: данные в теге <binding> следует пропускать.

После тега </explication> - пустая строка в ТХТ и переходить к следующему <location>

Желаемая кодировка записанного *.тхт - utf-8

Пример блока данных на выходе:

Кыштымское_Егозинское_38_17_1
56.05159155 60.97473328
56.05429960 60.97175066
56.05668397 60.97546284
56.05392816 60.98262970
56.05161552 60.97911064

Кыштымское_Егозинское_55_14_2,8
56.05159155 60.97473328
56.05429960 60.97175066
56.05668397 60.97546284
56.05392816 60.98262970
56.05161552 60.97911064

и т.д. - все в один текстовый файл.

Файлы
Отзывы
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Заказчик
Заказ выполнен раньше срока, полностью в рамках ТЗ.
На целевой машине была проблема с питоном - Сергей подключился по удаленке, помог все настроить.

Однозначно рекомендую к сотрудничеству.
~ 1 год назад
R50 2daa86510c908014f50e6f8019a59b22
Фрилансер
Легкий заказчик, четкое ТЗ, приятно работать. Работал без предоплаты.
~ 1 год назад