2013-10-23 8 views
6

ama cevaplar için internet ve bu özel durumda trol edilmiş yaygın kaçınılması görünüyor ve dokümanlar belirsizdir:, belirli bir Eleman için xml.etree.ElementTree.write() tamsayı değerlerini kullanabilir mi? Böyle basit bir soru sormak için bağırdı alınma riski

mümkün xml kullanmak mı .etree.ElementTree.write(), bir öğenin özniteliğinde dize olmayan değerler yazmak için? Böyle bir şey çalıştığınızda

TypeError: cannot serialize 0 (type int) 

: Hep almak

root = ET.Element('Tasks') 
d = {'priority': 1, 'status': 0, 'name': 'new task', 'index': 0} 
d = ET.SubElement(root, 'Settings', attrib=d) 
tree = ET.ElementTree(root) 
tree.write('/tmp/xmlTest') 

Ben sözlüğünün üzerinde yineleme ve ilk dizeleri içine tüm değerleri çevirerek etrafında birkaç kez çalışıyoruz, ama bu Kendimi doğru hissetmiyor ve tekrar botutmadan önce kötü bir alışkanlığa alışmamak için nasıl yapılmasının gerektiğini bilmek isterim. Yani herhangi bir içgörü çok takdir edilecektir.

Alkış, XML verileriyle aksine frank

cevap

8

XML nitelikleri metinlerdir. http://www.w3schools.com/xml/xml_attributes.asp

Öznitelikleri xml serileştirme işleminden önce dizilere serileştirmek size kalmıştır.

+4

Elbette, tamsayı türünü serileştirmek için bir roket bilimi olduğundan. Aferin Python! Ancak, cevabınız için teşekkürler, gerçekten çok yardımcı oldu :). – egelev

İlgili konular