c# - 使用 C# 读取 XML/KML 文件

标签 c# xml entity-framework linq kml

我正在尝试将 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/

相关文章:

c# - EWS 异常 : "Connection failed. Try later."

xml - 从分层表数据 (T-SQL) 生成结构化 (xml) 文档

c# - 如何使用 LINQ 制作泛型函数?

c# - 禁用 EF Core 的包含所有属性的约定

asp.net - 如何 "warm-up" Entity Framework ?什么时候得到 "cold"?

c# - 将数组传递给 Html.ActionLink()

c# - Asp.net Core 中的 HttpRequestException : An error occurred when retrieving Google user information (Forbidden).

c# - 使用 EF6 和 SQL Server 2012 时是否有替代方法来引用表?

xml - 如何在 Oracle XML Publisher 中打印转义的 HTML 字符

android - 如何放置移动的元素