Python XML API Kullanımı

0 Replies 2 Views
·
Participants
Thread Starter #1
Giriş ve Temel Bilgiler
Python, XML (eXtensible Markup Language) verilerini işlerken oldukça güçlü ve esnek kütüphaneler sunar. XML, veri yapılarının taşınması ve saklanması için yaygın olarak kullanılır ve API entegrasyonlarında sıkça tercih edilir. Python'da XML ile çalışmak için en yaygın kullanılan kütüphanelerden biri xml.etree.ElementTreedır. Bu kütüphane, XML dosyalarını okuma, düzenleme ve yeni XML dokümanları oluşturma işlemlerinde temel fonksiyonlar sağlar.

xml.etree.ElementTree ile Temel İşlemler
Öncelikle, XML verisini parse etmek (ayrıştırmak) için şu adımları izleriz:

CODE
123456789python
import xml.etree.ElementTree as ET

[b]XML dosyasını yükleme[/b]
tree = ET.parse('ornek.xml')
root = tree.getroot()

[b]Kök elementi görüntüleme[/b]
print(root.tag)


Burada, 'ornek.xml' isimli dosyayı yükleyip, kök elementi erişiyoruz. Ardından, XML içeriğinde dolaşmak veya belirli elementleri bulmak için find, findall gibi fonksiyonlar kullanılır.

Örneğin, belirli bir alt elementi almak için:

CODE
12345python
for item in root.findall('urun'):
    isim = item.find('isim').text
    fiyat = item.find('fiyat').text
    print(f'Ürün: {isim}, Fiyat: {fiyat}')


Bu, XML içindeki 'urun' elementleri arasında dolaşır ve her birinin 'isim' ve 'fiyat' alt elementlerini okur.

XML API ile Veri Güncelleme ve Oluşturma
Mevcut XML üzerinde düzenleme yapmak veya yeni veriler eklemek de mümkündür. Bir elementin değerini değiştirmek için:

CODE
123456python
[b]fiyat bilgisini güncelle[/b]
for item in root.findall('urun'):
    if item.find('isim').text == 'Kitap':
        item.find('fiyat').text = '45.99'
tree.write('guncellenmis.xml')


Yeni bir XML yapısı oluşturmak ise şu şekildedir:

CODE
12345678python
root = ET.Element('alisveris')
urun = ET.SubElement(root, 'urun')
ET.SubElement(urun, 'isim').text = 'Kalem'
ET.SubElement(urun, 'fiyat').text = '3.50'

tree = ET.ElementTree(root)
tree.write('yeni.xml')


API Kullanımı İpuçları ve En İyi Uygulamalar
  • Büyük XML dosyalarında, iterparse fonksiyonunu kullanmak bellek yönetimi açısından faydalıdır.
  • XML namespace kullanıyorsanız, register_namespace veya uygun prefixlerle çalışmalısınız.
  • Güvenlik açısından, dış kaynaklardan gelen XML verilerini parse ederken XML External Entity (XXE) saldırılarına dikkat edin.


Sonuç olarak, Python'un XML API kullanımı, hem temel hem de ileri seviye işlemler için geniş imkanlar sağlar. Bu kütüphane ve tekniklerle XML verileriniz üzerinde detaylı kontrol ve yönetim gerçekleştirebilirsiniz.

You must be logged in to reply.

0 quotes selected