У меня есть следующий XML-файлКак удалить элемент из XML
<?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" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<open>1</open>
<Placemark>
<name>L14A</name>
<description>ID:01F40BF0
PLACEMENT:Home Woods
RSSI:-82
</description>
<Style>
<IconStyle>
<Icon>
<href>http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=3|0000CC|FFFFFF</href>
</Icon>
</IconStyle>
</Style>
<Point>
<coordinates>-73.16551208,44.71051217,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
Файл больше, чем это, но она представляет собой структуру. Я пытаюсь удалить элемент <Style>
, но я не могу найти способ его исправить.
Я попробовал следующий метод: How to remove an element from an xml using Xdocument when we have multiple elements with same name but different attributes
Код является:
XDocument xdoc = XDocument.Load("kkk.kml");
xdoc.Descendants("Style").Remove();
xdoc.Save("kkk-mod.kml");
Коллекция Наследники всегда пусто.
Кроме того, когда я сохраняю файл, он добавляет «kml:» к каждому из моих элементов (см. Ниже).
<kml:Placemark>
<kml:name>L14A</kml:name>
<kml:description>ID:01F40BF0
</kml:description>
<kml:Point>
<kml:coordinates>-73.200,44.500,0</kml:coordinates>
</kml:Point>
</kml:Placemark>
Как я могу исправить это?
- удалить
- : KML добавляется в конечном файле.
Вам необходимо включить пространство имен с именем элемента, иначе синтаксический анализатор XML не найдет указанные узлы (узлы). В этом случае вам нужно использовать 'http: // www.opengis.net/kml/2.2'. – Tim