2016-03-25 24 views
0

Büyük xml dosyasından belirli girdileri kaldırmaya çalışıyorum.lxml python ile xml dosyasındaki öğeyi kaldır

Belirli girişleri, metne göre silinmesi gereken metin girişleri listesinden buluyorum. hala vardır silinmesi gerektiğini enteries ... Burada ne sorun dosya

#!/usr/bin/env python 

from lxml import etree 

g = open("/root/simplexml.xml", "rw") 
f = etree.parse(g) 

listdown = ["http://aiddp.org/administrator/components/com_attachments/controllers/Global%20Service/86af744091ea22ad5b1372ac7978b51f","http://primepromap.com/es/wp-includes/css/survey/survey/index.php?randInboxLightaspxn.17http://primepromap.com/es/wp-includes/css/survey/survey/index.php?randInboxLightaspxn.1774256418http:/peelrealest.com/property/ihttp://www.nwolb.com.default.aspx.refererident.568265843.puntopatrones.cl/wp-admin/js/upgrade/upgrade1.zip-extracted/upgrade/newp/loading.php="] 

for downsite in listdown: 
    for found in f.xpath(".//url[text()='"+downsite+"']"): 
     print "deleted "+str(found) 
     found.getparent().remove(found) 

print "over" 

Onun çalışmak ama xml açtıktan sonra olmalıdır:

Bu kodu çalıştırmak?

cevap

1

geri xml dosyasına modifiye ağaç dökümü gerekir:

f.write("/root/simplexml.xml") 
+0

Doğru, ben bu "yazma" bilmiyordum aslında ... tnx var! –

+0

@johndoe_asking yardım etmekten memnun! Lütfen http://stackoverflow.com/help/someone-answers adresini ziyaret edin. – alecxe