
cElementTree'yi ElementTree'nin uzerine kurmaniz gerekli:
http://effbot.org/downloads/#elementtree
Gonderdigim kodu asagidakiyle degistirin:
import cElementTree
filename = "wurfl.xml"
devices = {}
device = ""
for ev, el in cElementTree.iterparse(file(filename)):
    if el.tag == "device":
        device = el.attrib["id"]
    if el.tag == "group" and el.attrib["id"] == "display":
        c = devices[device] = {}
        for se in el.getiterator():
            try:
                c[se.attrib["name"]] = se.attrib["value"]
            except KeyError:
                pass
yada http://pastebin.com/f45aab568
Sonuc 'devices' sozlugunde.
Yuce Tekol
15.02.2008 tarihinde mirat can bayrak <mcbayrak_at_anadolu.edu.tr> yazmış:
> Friday 15 February 2008 14:48:09 tarihinde Yuce Tekol şunları yazmıştı:
>
> > Merhaba,
>  >
>  > xml.dom.minidom yerine ElementTree [1] (yada Python 2.5'da
>  > xml.etree.ElementTree [2]) kullanabilirsiniz.
>  >
>  > Asagidaki kod  group id'si display olan cihazlarin ozelliklerini bir
>  > sozlukte topluyor:
>  >
>  > import cElementTree
>  >
>  > devices = {}
>  > device = ""
>  > for ev, el in cElementTree.iterparse(file("wurfl.xml")):
>  >     if el.tag == "device":
>  >         device = el.attrib["id"]
>  >
>  >     if el.tag == "group" and el.attrib["id"] == "display":
>  >         for se in el.getiterator():
>  >             try:
>  >                 c = devices[device] = {}
>  >                 c[se.attrib["name"]] = c[se.attrib["value"]]
>  >             except KeyError:
>  >                 pass
>  >
>  > Kodu su adrese de yapistirdim: http://pastebin.com/f147e311
>  > Yukaridaki kod, gonderdiginiz kodu (benim makinemde) 1.3 s civarinda
>  > isliyor.
>  >
>  > [1] http://effbot.org/zone/celementtree.htm
>  > [2] http://docs.python.org/lib/module-xml.etree.ElementTree.html
>  >
>  > Kolay gelsin,
>  >
>  > Yuce Tekol
>  >
>  > 15.02.2008 tarihinde mirat can bayrak <mcbayrak_at_anadolu.edu.tr> yazmış:
>  > > *Aşağıda bahsi geçen xml dosyasına buradan ulaşabilirsiniz
>  > >  http://wurfl.sourceforge.net/wurfl.xml
>  > >
>  > > -------------------------------------------------------------------------
>  > >------------------------------ Selam elimde 6mb lik bir xml dosyası var
>  > > bunu parse etmeye kalktığımda şekildeki durum ortaya çıkıyor
>  > > http://imaj.at/33307 makina kitlenme noktasıına geliyor. aslında benim
>  > > ihtiyacım olan bu xml dosyasının içerisindeki
>  > >
>  > >  <device ... > tag i içindeki <group="display"> içerisindeki bilgiler.
>  > >
>  > >  Bu xml dosyasını küçültmenin bir yolu varmıdır? yapısını ını bozmadan
>  > >  <group="display"> haricindeki group ları atsam bile eminim ki büyük
>  > > oranda dosya küçülecek ve benim bilgisayar rahat bir nefes alacak.
>  > >
>  > >  bunu yapan hazır bir script varmıdır? yoksa nasıl bir yöntem
>  > > uygulayabilirim?
>  > >
>  > >  --
>  > >  İlgilenen herkese teşekkürler
>  > >
>  > > --
>  > >  Mirat Can Bayrak
>  > >  horselogy_at_gmail.com
>  > >  _______________________________________________
>  > >  Linux-programlama mailing list
>  > >  Linux-programlama_at_liste.linux.org.tr
>  > >  http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>  >
>  > _______________________________________________
>  > Linux-programlama mailing list
>  > Linux-programlama_at_liste.linux.org.tr
>  > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
> Yardımlarınız için teşekkür ederim fakat script 1. satırda
>  ImportError: No module named cElementTree
>  dedi bende verdiğiniz sayfadaki cElementTree yi kurdum
>  (indirdim / açtım / python setup.py install dedim) fakat  hala aynı hatayı
>  alıyorum nedendir?
>
>
>
>  --
>
> Mirat Can Bayrak
>  horselogy_at_gmail.com
>  _______________________________________________
>  Linux-programlama mailing list
>  Linux-programlama_at_liste.linux.org.tr
>  http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Fri 15 Feb 2008 - 17:51:14 EET
