2010-07-28 2 views
0

XML 서비스에서 데이터를 가져 오려고합니다.urllib 및 minidom을 사용하여 XML 데이터 가져 오기

http://xmlweather.vedur.is/?op_w=xml&type=forec&lang=is&view=xml&ids=1

것은 내가 urrlib과 minidom을 사용하고 있는데 나는 그것이 작동되도록 수없는 것. 나는 minidom을 url이 아닌 file과 함께 사용했다.

는 코드 메신저 사용하려고

xmlurl = 'http://xmlweather.vedur.is' 
xmlpath = xmlurl + '?op_w=xml&type=forec&lang=is&view=xml&ids=' + str(location) 
xmldoc = minidom.parse(urllib.urlopen(xmlpath)) 

이 사람이 나를 도울 수 있습니까?

답변

0

이 시도 :

f = urllib.urlopen(xmlpath) 
html = f.read() 
xmldoc = minidom.parse(html) 
4

(또는 적어도 당신에게 무슨 일이 잘못에 대한 강한 아이디어를 줄) 다음과 같은 작업을해야합니다 :

from xml.dom.minidom import parse 
import urllib 

xmlurl = 'http://xmlweather.vedur.is' 
xmlpath = xmlurl + '?op_w=xml&type=forec&lang=is&view=xml&ids=' + str(location) 
try: 
    xml = urllib.urlopen(xmlpath) 
    dom = parse(xml) 
except e as Exception: 
    print(e) 
+0

작품. –

0

난 그냥 비슷한 일을 해왔습니다, 그리고 당신의 질문을 보았습니다.

필자의 경우 구문 오류가 발생하여 minidom.parse가 손상된 것으로 생각했습니다. 내 XML 문서에 구문 오류가 있음이 드러났습니다. 추적을 통해 명확하게 알 수 없었습니다.

minidom.parse 또는 minidom.parseString을 사용하여 구문 오류가 발생하는 경우 원본 파일을 확인하십시오.

1

parse()는 파일을 찾고 문자열로 지정합니다. 다른 클래스라는 parseString을은()가

시도 : Google 애플리케이션에서 호스팅 내 응용 프로그램에 대한

from xml.dom.minidom import parseString 
import urllib2 
xml = urllib2.urlopen(xmlpath) 
dom = parseString(xml.read()) 
관련 문제