我的目标是删除使用 sharpkml 读取的 kml 文件中的地标,并将 xml 保存为新的 kml。
我试过的
- RemoveChildren -> 未找到
- AddUpdate 与 DeleteCollection -> 不工作
和
using SharpKml.Base;
using SharpKml.Dom;
using SharpKml.Engine;
TextReader i_test = File.OpenText(@"test.kml");
KmlFile k_test = KmlFile.Load(i_test);
Kml l_test = k_test.Root as Kml;
var serializer = new Serializer();
if (l_test != null)
{
foreach (var ort_u in l_test.Flatten().OfType<Placemark>())
{
Placemark p_u = ort_u;
foreach(var einh in ort_u.ExtendedData.Data)
{
if (einh.Name == "teststring")
{
var update = new Update();
update.AddUpdate(new DeleteCollection(){ p_u });
serializer.Serialize(l_test);
Console.WriteLine(serializer.Xml.Length);
}
}
}
}
它们都不起作用。
如何使用 SharpKml 删除地标并将整个 kml 减去地标保存在新文件中?