2016-06-13 9 views
-1

Ich versuche in Python2.7 mit xmltodict ext. Daten von der App-Engine-API (XML-Typ) abrufen Haben Sie keine Vorstellung davon, wie das zu tun ... ich so mit den lokalen XML zu tun versucht (ich es von der Quelle URL herunterladen) mit Erfolg meinem lokalen Code sieht wie folgt aus:erhalten Daten von URL XML mit Python und Xmltodict

import xmltodict 

document = open("my local path\API_GETDATA.xml", "r") 

read_doc = document.read() 

xml_doc = xmltodict.parse(read_doc) 

for i in xml_doc: 

    print (xml_doc[i]) 

    i=i+1 

und mein Ergebnis ist Druck alle XML-Felder

Wie kann ich es auf URL funktionieren lassen? Gibt es noch etwas, das ich vermisse?

+0

Was nicht funktioniert? –

Antwort

0

Verwenden Sie die Python-Bibliothek requests:

mit pip install requests installieren und wie diese verwenden:

import requests 

r = requests.get("url") 

xmltodict.parse(r.content) 
+0

ich erhalte Fehler msg: Traceback (jüngste Aufforderung zuletzt): Datei "C: \ Benutzer \ tzahi.k \ Desktop \ xmltodict-0.10.2 \ tttt.py", Zeile 18, in xmltodict.parse (r.content) Datei "C: \ Benutzer \ tzahi.k \ Desktop \ xmltodict-0.10.2 \ xmltodict.py", Linie 311, in Parse parser.Parse (xml_input, True) ExpatError: Syntaxfehler: Zeile 1, Spalte 0 –

+0

Es scheint, als ob das XML nicht ordnungsgemäß XML oder ein anderes XML-Analyseproblem ist. Um dies zu debuggen, schreibe folgendes vor die Syntaxzeile: 'open (" out.txt "," wb "). Write (r.content)' und lade die out.txt Datei auf pastebin.com hoch und poste sie hier. Ich werde es mir ansehen. –