【问题标题】:Read contents of KML file into C# Application将 KML 文件的内容读入 C# 应用程序
【发布时间】:2018-08-31 12:29:40
【问题描述】:

我正在尝试将以下 KML 文件中的 Area_No、Dateof、Location、Week 和坐标提取到 C# Windows 窗体应用程序中。

<?xml version="1.0" encoding="utf-8" ?>
<kml xmlns="http://www.test.net">
<Document id="root_doc">
<Schema name="LOC2018" id="LOC2018">
<SimpleField name="AREA_NO" type="string"></SimpleField>
<SimpleField name="DATEOF" type="string"></SimpleField>
<SimpleField name="LOCATION" type="string"></SimpleField>
<SimpleField name="Week" type="string"></SimpleField>


</Schema>
<Folder><name>LOC2018</name>
<Placemark>
<Style><LineStyle><color>ff0000ff</color></LineStyle><PolyStyle> 
<fill>0</fill></PolyStyle></Style>
<ExtendedData><SchemaData schemaUrl="#LOC2018">
    <SimpleData name="AREA_NO">1</SimpleData>
    <SimpleData name="DATEOF">1899/12/30</SimpleData>
    <SimpleData name="LOCATION">TEST ROAD</SimpleData>
    <SimpleData name="Week">Week1</SimpleData>
    </SchemaData></ExtendedData>
 <MultiGeometry><Polygon><altitudeMode>clampToGround</altitudeMode> 
 <outerBoundaryIs><LinearRing><altitudeMode>clampToGround</altitudeMode> 
<coordinates>18.672267,-4.158488 16.494032,-2.401444 
16.494032,-2.401444</coordinates></LinearRing></outerBoundaryIs></Polygon> 
</MultiGeometry>
</Placemark>
</Folder>
</Document></kml>

我是处理这些文件的新手,并且尝试了一些我在此站点上找到的选项,但均无济于事。

我可以加载文件并查看节点,但无法访问 SchemaData 或坐标中的项目。

我目前的代码是:

XDocument doc = XDocument.Load(filename);

        List<XElement> placemarks = doc.Descendants().Where(x => x.Name.LocalName == "SchemaData").ToList();
        foreach (XNode x in placemarks)
        {

        }

它只是返回一些信息,但不是我能够使用的格式。

谁能指出如何获取这些数据的方向?

谢谢。

【问题讨论】:

    标签: c# kml


    【解决方案1】:

    在进行了更多搜索和一些试验和错误之后,我已经能够从以下代码中获得我需要的信息。

    XDocument doc = XDocument.Load(filename);
            List<XElement> placemarks = doc.Descendants().Where(x => x.Name.LocalName == "SimpleData").ToList();
            foreach (XElement x in placemarks)
            {
    
            }
    

    可以访问“地标”来获取数据。

    【讨论】:

      猜你喜欢
      • 2020-07-09
      • 2013-10-30
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      相关资源
      最近更新 更多