我試圖在C#中讀取KML文件。我需要閱讀這些信息以獲取信息並對其進行處理。是否有一個庫可以讀取KML以回饋數據結構中的信息?如果不是,您如何閱讀KML文件?它是否像讀取XML文件?在c#項目中讀取kml文件以回饋信息
2
A
回答
3
我找到了解決方案。問題是新的XSD文件有多個命名空間,所以要轉換爲使用XSD.EXE我需要兩個文件中的類:atom-author-link.xsd
和xal.xsd
後,我用XSD.EXE使用此命令行:xsd.exe /c ogckml22.xsd atom-author-link.xsd xal.xsd
最後,我有來自xsd文件的類。
其他信息:
我剛剛發現了這個庫(http://sharpkml.codeplex.com/)讀/寫KML 2.2文件。這是一個更新的libkml
0
Google提供了一個包含KML文件模式的XSD文件,您可以在下面的位置找到它。
http://code.google.com/apis/kml/schema/kml22gx.xsd
下面是KML格式的文檔:
http://code.google.com/apis/kml/documentation/kmlreference.html
你可以使用Microsoft XSD工具來生成從架構類:
http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=VS.100).aspx
2
這是我解析KML文件以獲得座標o的方法f對象:
string elementToFind = "example";
System.IO.Stream kmlFile = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("objects.kml");
Xml.Linq.XDocument xDoc = System.Xml.Linq.XDocument.Load(kmlFile);
string xNs = "{" + xDoc.Root.Name.Namespace.ToString() + "}";
var coordsStr =
(from f in xDoc.Descendants(xNs + "Placemark")
where elementToFind.Contains(f.Parent.Element(xNs + "name").Value + f.Element(xNs + "name").Value)
select f.Element(xNs + "LineString").Element(xNs + "coordinates")).FirstOrDefault();
解析它像一個普通的XML文件搜索您需要的數據。我希望這對你有所幫助。
相關問題
- 1. 正在讀取kml文件
- 2. C++從文件中讀取信息,建立從該信息
- 3. C#文件中讀取行找項目
- 4. 讀取文本文件,並通過行C#中獲取信息
- 5. 使用目標讀取MP3信息c
- 6. 在C#.NET中讀取SQLite表信息
- 7. 從文件中讀取信息
- 8. 從文件中讀取配置信息
- 9. 從輸出文件中讀取信息
- 10. 閱讀C++中的KML文件
- 11. 如何讀取C++中的pcap文件以獲取數據包信息?
- 12. 從文件中讀取iCal信息以使iCal事件發生
- 13. 在web項目中讀取.csv文件
- 14. 在.NET項目中讀取文件
- 15. 從javascript在Objective-C項目中讀取/寫入文本文件
- 16. 獲取項目,以沒有反饋
- 17. 如何在Objective-C中從MS項目中提取信息?
- 18. 使用Getline從文件中讀取信息()C++
- 19. 如何從輸入文件中讀取結構信息c
- 20. sbt項目讀取文件
- 21. 解析pcap文件以在C++中讀取消息
- 22. C++從圖像中讀取信息
- 23. 反饋信息在extjs
- 24. 讀取音頻文件信息php
- 25. 如何從.xml文件讀取信息
- 26. 讀取文件和相關信息
- 27. 讀取文件,並從信息
- 28. 從文本文檔中讀取信息
- 29. 您可以從C++ Lib文件中獲取信息,例如如何從Jar文件中獲取信息?
- 30. 讀取信息
但是,我需要一個kml 2.2。我嘗試使用XSD工具在類中轉換xsd,但是出現此錯誤: 模式驗證警告:無se ha聲明爲el elemento'http://www.w3.org/200 5/Atom:author'。 Line 311,position 12. Schema validation warning:No se ha declarado el elemento'http://www.w3.org/200 5/Atom:link'。第312行,第12位。 模式驗證警告:無聲明聲明元素'urn:oasis:名稱:tc:ci q:xsdschema:xAL:2.0:AddressDetails'。行314,位置12. 警告:架構無法驗證。班級生成可能失敗或可能產生錯誤的結果。 – 2012-01-11 16:49:30
我更新了XSD文件的鏈接,但未使用XSD.exe進行驗證。我沒有嘗試過,但有一個庫http://code.google.com/p/kml-library/ – msmucker0527 2012-01-11 18:10:40