2011-09-22 5 views
0
<xml> 
    <mapshape title="Bar" extras=""> 
    <kml></kml> 
    </mapshape> 

    <mapshape title="Foo" extras=""> 
    <kml></kml> 
    </mapshape> 
</xml> 

저는 XML 문서를 하나의 XML에 여러 개의 mapshape 노드가 있고 각각 하나의 유효한 kml 파일을 포함하고 있습니다. Google지도에서 모두 그려야합니다.Python : JS : 하나의 XML 파일에서 여러 kml 노드를 구문 분석하는 방법은 무엇입니까?

geoxml (3)과 같은 라이브러리를 사용해도 하나의 kml 파일을 구문 분석 할 수 있지만 내 문서에는 많은 kml이 포함되어 있는데 어떻게 처리 할 수 ​​있습니까?

답변

0
당신은 KML 부분을 추출한 다음 다른 라이브러리에에 전달하는 LXML을 사용할 수 있습니다

:

doc = """<xml> 
    <mapshape title="Bar" extras=""> 
    <kml></kml> 
    </mapshape> 

    <mapshape title="Foo" extras=""> 
    <kml></kml> 
    </mapshape> 
</xml>""" 

import lxml.etree as etree 

xml = etree.fromstring(doc) 
for mapshape in xml: 
    kml = etree.tostring(mapshape.getchildren()[0]) 
    parseKML(kml) 
관련 문제