python ElementTree读写属性的顺序

python elementtree读取和写入xml时,属性的顺序是按照字典顺序排序的:

ElementTree.py的_serialize_xml方法:

这样就导致无论是读取本地的xml,还是写入新的xml,xml中attribute的顺序都不是你预先定义的顺序。

下面的代码是通过重写ElementTree的某些方法来达到按预定声明的顺序读取或者写入属性:

 

读取xml时使用:

写入xml时使用:

 

参考:http://stackoverflow.com/questions/2741480/can-elementtree-be-told-to-preserve-the-order-of-attributes

发表评论