我是一个LINQ to XML新手,也是一个KML新手;所以忍受着我。Linq到KML的XML?
我的目标是从KML文件中提取单个地标。我的KML开始正是如此:
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns="http://earth.google.com/kml/2.0">
<name>Concessions</name>
<visibility>1</visibility>
<Folder>
<visibility>1</visibility>
<Placemark>
<name>IN920211</name>
<Style>
<PolyStyle>
<color>80000000</color>
</PolyStyle>
</Style>
<Polygon>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>11.728374,1.976421,0 11.732967,1.965322,0 11.737225,1.953161,0 11.635858,1.940812,0 11.658102,1.976874,0 11.728374,1.976421,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
...
这是据我已经得到了:
Dim Kml As XDocument = XDocument.Load(Server.MapPath("../kmlimport/ga.kml"))
Dim Placemarks = From Placemark In Kml.Descendants("Placemark") _
Select Name = Placemark.Element("Name").Value
到目前为止没有好 - Kml.Descendants( “标”)给我一个空枚举。文档已正确加载 - 因为KML.Descendants包含每个节点。对于什么是值得的这些查询也是空的:
Dim foo = Kml.Descendants("Document")
Dim foo = Kml.Descendants("Folder")
有人能指出我在正确的方向吗?奖励积分指向良好的Linq到XML教程的链接 - 我在网上找到的那些在非常简单的场景中停止。
这给了我 运行时抛出异常信息:System.Xml.XmlException - 在 ':' 字符,十六进制值0x3A,不能包含在一个名字。 – 2008-09-30 02:54:01