benim xml dosyasında başka noktadaxml dosyalarındaki belirli etiketleri nasıl yok sayılır? Benim xml dosyasında bazı noktada
<revision>
<id>1</id>
<timestamp>2012-10-25T15:50:18Z</timestamp>
<contributor>
<ip>127.0.0.1</ip>
</contributor>
</revision>
ile katkıda bulunan sahiptir
<revision>
<id>2</id>
<parentid>1</parentid>
<timestamp>2012-10-26T20:13:56Z</timestamp>
<contributor>
<username>Reedy</username>
<id>2</id>
</contributor>
</revision>
ile katkıda ben xml dosyaları arasında ayrıştırmaz bir piton senaryoyu yazdım ve var İhtiyacımız olan etiketleri bir çıktı dosyasına geri gönderin. Ama katkıda bulunanmın altında iki farklı şey Ip ve kullanıcı adı vardı, id. Ip'i göz ardı etmek istiyorum ve sadece çıktı dosyasına kullanıcı adı ve kimliği yazmak istiyorum. Her iki ben KeyError gibi kilit hatası alıyorum varsa: 'kullanıcı adı'
de bu
import xmltodict
with open('path to xml file') as xml_file:
dic_xml = xmltodict.parse(xml_file.read())
page = dic_xml['mediawiki']['page']
data = list()
for rev in page['revision']:
my_string = ""
my_string += " " + "username:" + dict(rev['contributor'])['username']
my_string += " " + "userid:" + dict(rev['contributor'])['id']
my_string += "\n"
data.append(my_string)
with open('output', 'w') as writingFile:
for i in data:
writingFile.write(i)
Lütfen, sadece kendi varolan yerine bir [Python XML ayrıştırıcısı] (http://stackoverflow.com/questions/1912434/how-do-i-parse-xml-in-python) kullanın. Savaştan test edilmiş ve sadece sizden daha fazla insan için çalıştığı kanıtlanmıştır. Ve ayrıca, bu soru ayrıştırıcı için yazdığınız kod olmadan cevapsızdır. –