6

このような単純な質問をすると怒鳴られる危険がありますが、私は答えを求めてインターネットをトロールしており、この特定のケースは広く回避されているようで、ドキュメントがあいまいです:

xml.etree.ElementTree.write() を使用して、要素の属性に文字列以外の値を書き込むことはできますか? 私はいつも得る:

TypeError: cannot serialize 0 (type int)

私がこのようなことをしようとすると:

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')

それぞれの辞書を繰り返し処理し、最初にすべての値を文字列に変換することで、何度か回避してきましたが、それは正しくないと感じています。もう一度失敗する前に、取得しないように適切に行う方法を知りたいです。悪い習慣に慣れている。したがって、どんな洞察も大歓迎です。

乾杯、フランク

4

1 に答える 1

12

XML データとは対照的に、XML 属性はテキストです。http://www.w3schools.com/xml/xml_attributes.asp

xml シリアル化の前に、属性を文字列にシリアル化するかどうかはユーザー次第です。

于 2013-10-23T06:44:50.083 に答える