我有 XML,其中子元素的顺序决定了它们的 z 顺序以用于显示目的。我使用 lxml.objectify 对 XML 进行操作。
如何在objectify中更改子元素的位置?
例如改变:
<canvas>
<shape a>
<shape b>
<shape c>
</canvas>
至:
<canvas>
<shape b>
<shape a>
<shape c>
</canvas>
canvas.shape
将是一个列表,所以只需修改列表:
from lxml import objectify, etree
canvas = objectify.fromstring('''
<canvas>
<shape name="a" />
<shape name="b" />
<shape name="c" />
</canvas>
''')
canvas.shape = [canvas.shape[1], canvas.shape[0], canvas.shape[2]]
print etree.tostring(canvas, pretty_print=True)