[Linux-programlama] Re: devasa xml dosyası nefes aldırmıyor.

---------

[Linux-programlama] Re: devasa xml dosyası nefes aldırmıyor.

From: Yuce Tekol <yucetekol_at_gmail.com>
Date: Fri, 15 Feb 2008 14:48:09 +0200
Message-ID: <a0db246a0802150448w6c50c55ao5809c33cffd26849@mail.gmail.com>

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
Received on Fri 15 Feb 2008 - 14:10:45 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.