2011-10-19 10 views
1

私はKMLファイルをダウンロードし、その特定の要素をPythonの文字列として出力したいと考えています。KMLをPythonの文字列に変換するには?

誰でも私にこれを行う方法の例を教えてください。

ありがとうございました。

+1

KMLは単なるXMLです。 XMLパーサーを使って解析するだけです。 – NullUserException

+0

PythonでXMLをダウンロードして解析する簡単な例がありますか?死んだソフトウェアへのGoogleのリンクの混乱で失われた... – Richard

+0

lxml http://lxml.de/parsing.htmlをチェックアウト – monkut

答えて

0

あなたはpythonでurllibを使ってKMLファイルをダウンロードできます。 KMLを読むためには、パーサー( "kml python parser"を検索)を使うことができます。

+0

urllib2を参照してください。 – Trufa

0

Googleの新しいpyKMLライブラリがこれに適しています。例えば、 pyKML Examples

は、ここで私は他の答えに残しておきますhttp://packages.python.org/pykml/tutorial.html

import urllib2 
from pykml import parser 

url = 'http://code.google.com/apis/kml/documentation/KML_Samples.kml' 
fileobject = urllib2.urlopen(url) 
root = parser.parse(fileobject).getroot() 
print root.Document.name 
1

ダウンロードおよび解析から、非常に簡単な例です。ここでは、KMLファイル内の各目印の説明と座標を取得した方法を示します。

namespace = {'ns' : 'http://www.opengis.net/kml/2.2'} 
placemarks = doc.xpath('//ns:Placemark', namespaces=namespace) 

for placemark in placemarks : 
    for description in placemark.xpath('.//ns:description', namespaces=namespace): 
     descriptionText = description.text.strip() 

    for coords in placemark.xpath('.//ns:coordinates', namespaces=namespace): 
     coordinates = coords.text.strip() 

    # Here you have the description and coordinates 

説明と座標のforループは、おそらく書き直すことができましたが、私はまだ正確な方法が見つかりませんでした。

関連する問題