我正在尝试将 kml xml Google earth 文件导入应用程序,但我似乎无法正确使用 xDocument 语法来执行我想做的事情,我想知道是否有人可以建议一种方法来读入 kml xml 文件。
我了解 xml 导入的基础知识,但无法使用 xDocument 和 Linq 进行任何操作,理想情况下,我希望将每个地标作为对象并将它们添加到我的 Entity Framework 驱动的数据库中。关于我应该如何做到这一点的任何建议都会很棒,因为我刚刚开始使用 Linq 并且可以使用一些指示。 xml布局如下
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<Placemark>
<name>XXX</name>
<description>XXX</description>
<styleUrl>XXX</styleUrl>
<Point>
<coordinates>XXX</coordinates>
</Point>
</Placemark>
<Placemark>
<name>XXX</name>
<description>XXX</description>
<styleUrl>XXX</styleUrl>
<Point>
<coordinates>XXX</coordinates>
</Point>
</Placemark>
</Document>
</kml>
最佳答案
你没有包含任何代码,但我猜你在引用东西时忘记包含你的命名空间。这是一个例子。
基本访问:
var placemarks = xdoc.Element("kml").Element("Document").Elements("Placemark");
使用命名空间:
var ns = XNamespace.Get("http://earth.google.com/kml/2.2");
var placemarks = xdoc.Element(ns + "kml").Element(ns + "Document").Elements(ns + "Placemark");
关于c# - 使用 C# 读取 XML/KML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788207/