Ich habe meine Foursquare-Daten heruntergeladen und sie kommt im KML-Format. Ich analysiere es als eine XML-Datei mit Python und kann nicht herausfinden, wie man den Text zwischen dem geschlossenen a-Tag und dem geschlossenen description-Tag erhält. (Es ist der Text, den ich beim Einchecken eingegeben habe, im Beispiel unten heißt es "ENDLICH HIER !! Mit Sonya und Co.", aber es gibt auch einen Bindestrich).Erhalte Text zwischen zwei geschlossenen Tags XML - Python
Dies ist ein Beispiel dafür, wie die Daten aussehen.
<Placemark>
<name>hummus grill</name>
<description>@<a href="https://foursquare.com/v/hummus-grill/4aab4f71f964a520625920e3">hummus grill</a>- FINALLY HERE!! With Sonya and co</description>
<updated>Tue, 24 Jan 12 17:14:00 +0000</updated>
<published>Tue, 24 Jan 12 17:14:00 +0000</published>
<visibility>1</visibility>
<Point>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>-75.20104383595685,39.9528387056977</coordinates>
</Point>
</Placemark>
Bisher habe ich in der Lage gewesen, die lat/Long-Positionen zu erhalten, veröffentlicht Daten, Name und Link mit dem Code so etwas für alle:
latitudes = []
longitudes = []
for d in dom.getElementsByTagName('coordinates'):
#Break them up into latitude and longitude
coords = d.firstChild.data.split(',')
longitudes.append(float(coords[0]))
latitudes.append(float(coords[1]))
ich schon versucht, diese (unter der ist Beginn der Daten diese Header Sache ist, hat nicht herausgefunden, wie es noch zu handhaben)
for d in dom.getElementsByTagName('description'):
description.append(d.firstChild.data.encode('utf-8'))
<?xml version="1.0" encoding="UTF-8"?>
<kml><Folder><name>foursquare checkin history </name><description>foursquare checkin history </description>:
und dann von diesem d.firstChild.nextSibling.firstChild.data.encode Zugriff (‚utf-8‘), aber es gibt mir nur "Hummus Grill", was ich bin als Text zwischen den a-Tags (anstelle des Namens-Tags).
so würde ich muss das DOM-Element in einen Teilstring konvertieren? Oder schlagen Sie eine andere Route vor? – user3768258
Yup. Wenn Sie das gesamte DOM-Element zu einer Variable machen, können Sie bestimmte Teile leichter auseinander nehmen. Teilstrings neigen dazu, eine einfache Methode zum Parsen von Text zu sein. –