我正在尝试从KML文件中提取placemarks中的多边形。目前为止还不错:
Imports <xmlns:g='http://earth.google.com/kml/2.0'>
Imports System.Xml.Linq
Partial Class Test_ImportPolygons
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim Kml As XDocument = XDocument.Load(Server.MapPath("../kmlimport/ga.kml"))
For Each Placemark As XElement In Kml.<g:Document>.<g:Folder>.<g:Placemark>
Dim Name As String = Placemark.<g:name>.Value
...
Next
End Sub
End Class
我想捕获整个
<polygon>...</polygon>
块作为字符串。我尝试了类似以下的方法(其中“...”在上面): Dim Polygon as String = Placemark.<g:Polygon>.InnerText
但是XElement对象没有InnerText属性,据我所知也没有任何等价的属性。那么如何获取定义XElement的原始XML呢?
Placemark.<g:Polygon>
是XElement的集合,而不是单个XElement。 - Herb Caudill