Я использую simpleKML в своем скрипте Python для создания файла KML. Добавить элементы легко, но я хочу иметь возможность снова удалять элементы.
Я проверил пакет pykml и обнаружил, что могу "удалить элементы из существующего объекта". Однако я впечатлен простотой simpleKML и предпочел бы придерживаться этого пакета.
Fx. удалить вторую точку (здесь: id = "17") из мультигеометрии:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document id="1">
<Placemark id="11">
<MultiGeometry id="10">
<Point id="15">
<coordinates>9.042574667,51.834697333,0.0</coordinates>
</Point>
<Point id="17">
<coordinates>9.0425585,51.834703333,0.0</coordinates>
</Point>
<Point id="19">
<coordinates>9.042558833,51.834702667,0.0</coordinates>
</Point>
</MultiGeometry>
</Placemark>
</Document>
</kml>
в результате
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document id="1">
<Placemark id="11">
<MultiGeometry id="10">
<Point id="15">
<coordinates>9.042574667,51.834697333,0.0</coordinates>
</Point>
<Point id="19">
<coordinates>9.042558833,51.834702667,0.0</coordinates>
</Point>
</MultiGeometry>
</Placemark>
</Document>
</kml>
Поскольку simpleKML автоматически добавляет атрибуты 'id' ко всем элементам, должно быть просто иметь что-то вроде getElementById и удалять строки из объекта kml. По крайней мере, для кого-то более компетентного в кодировании, чем я.