2016-04-02 4 views
0

Das Folgende ist die XML von Remote-URLVersuch xml von url Shop Zeichenfolge zu analysieren, damit ich in einem anderen Ort, um Ausgang zu irc

<SHOUTCASTSERVER> 
<CURRENTLISTENERS>0</CURRENTLISTENERS> 
<PEAKLISTENERS>0</PEAKLISTENERS> 
<MAXLISTENERS>100</MAXLISTENERS> 
<UNIQUELISTENERS>0</UNIQUELISTENERS> 
<AVERAGETIME>0</AVERAGETIME> 
<SERVERGENRE>variety</SERVERGENRE> 
<SERVERGENRE2/> 
<SERVERGENRE3/> 
<SERVERGENRE4/> 
<SERVERGENRE5/> 
<SERVERURL>http://localhost/</SERVERURL> 
<SERVERTITLE>Wicked Radio WIKD/WPOS</SERVERTITLE> 
<SONGTITLE>Unknown - Haxor Radio Show 08</SONGTITLE> 
<STREAMHITS>0</STREAMHITS> 
<STREAMSTATUS>1</STREAMSTATUS> 
<BACKUPSTATUS>0</BACKUPSTATUS> 
<STREAMLISTED>0</STREAMLISTED> 
<STREAMLISTEDERROR>200</STREAMLISTEDERROR> 
<STREAMPATH>/stream</STREAMPATH> 
<STREAMUPTIME>448632</STREAMUPTIME> 
<BITRATE>128</BITRATE> 
<CONTENT>audio/mpeg</CONTENT> 
<VERSION>2.4.7.256 (posix(linux x64))</VERSION> 
</SHOUTCASTSERVER> 

Alles, was ich den Inhalt der ist speichern zu tun versuchen, verwenden kann Element <SONGTITLE> speichern Sie es, damit ich mit einem Bot, den ich habe, zu IRC posten kann.

import urllib2 
from lxml import etree 

url = "http://142.4.217.133:9203/stats?sid=1&mode=viewxml&page=0" 
fp = urllib2.urlopen(url) 
doc = etree.parse(fp) 
fp.close() 

for record in doc.xpath('//SONGTITLE'): 
    for x in record.xpath("./subfield/text()"): 
     print "\t", x 

Das ist, was ich bisher habe; nicht sicher, was ich hier falsch mache. Ich bin ziemlich neu bei Python, aber der IRC-Bot funktioniert und macht einige andere Utility-Typen, die ich einfach als Feature hinzufügen möchte.

+1

Können Sie erklären, was derzeit ausarbeitet nicht wahr? Welche Fehler bekommst du? Was passiert, was du nicht erwartest? – idjaw

Antwort

1

Sie müssen ./subfield/ nicht enthalten:

for x in record.xpath("text()"): 

Ausgang:

Unknown - Haxor Radio Show 08 
Verwandte Themen