Basit bir XML dosyası oluşturma kullanarak python
Eğer basit bir XML dosyası oluşturmak için istersem seçeneklerim python nedir? (bilge Kütüphanesi)
İstediğim xml gibi görünüyor:
<root>
<doc>
<field1 name="blah">some value1</field1>
<field2 name="asdfasd">some vlaue2</field2>
</doc>
</root>
CEVAP
Bugünlerde en popüler (ve çok basit) seçeneği Python 2.5 standart kütüphaneye dahil edilmiştir ElementTree API.
Bunun için mevcut opsiyonlar:
- ElementTree (Temel, ElementTree. saf-Python uygulaması 2.5 standart kütüphanenin bir parçası)
- cElementTree (ElementTree. Optimize edilmiş C uygulaması Ayrıca 2.5 standart kütüphanede sunulan)
- (Libxml2. Dayalı LXML Fazla bir ElementTree API de XPath zengin bir üst, CSS Seçiciler, ve daha fazla)
İşte örnek belge-stdlib cElementTree: kullanarak oluşturmak için nasıl bir örnek
import xml.etree.cElementTree as ET
root = ET.Element("root")
doc = ET.SubElement(root, "doc")
ET.SubElement(doc, "field1", name="blah").text = "some value1"
ET.SubElement(doc, "field2", name="asdfasd").text = "some vlaue2"
tree = ET.ElementTree(root)
tree.write("filename.xml")
Test ettik ve o inşaat, ama boşluk önemli değil sanıyorum. "Girinti ve bunu nasıl bakarım, bana da haber ver. prettyprint ihtiyacınız varsa (LXML-belirli bir seçenek olabilir. Stdlib uygulanması çok kullanın) bilmiyorum
Daha fazla okuma için, burada bazı yararlı bağlantılar
- API docs for the implementation in the Python standard library
- 5* *(özgün yazarın sitesinden)
- LXML etree tutorial. (Örnek ile tüm büyük ElementTree uygulamaları en iyi seçenek yükleme kodu)
Bir son not da cElementTree veya LXML olmalı yeterince hızlı için tüm ihtiyaçlarını (her ikisi de optimize C kodu), ama bu olay sen bu durumda ihtiyaç için dışarı sıkmak her geçen biraz performans, kriterler üzerinde LXML site belirten:
- LXML açıkça (üreten XML seri hale getirilirken için kazanır
- Ayrıştırma için yan etkisi uygulamak uygun üst geçişi, LXML olarak biraz cElementTree daha yavaş.
JSON yanıt Django kullanarak oluşturma...
HTML dosyası Python kullanarak açılan ...
Bir Python komut dosyası kullanarak me...
Windows kullanarak toplu iş dosyası ol...
Python kullanarak bir dosya var olup o...