2

我有 XML,其中子元素的顺序决定了它们的 z 顺序以用于显示目的。我使用 lxml.objectify 对 XML 进行操作。

如何在objectify中更改子元素的位置?

例如改变:

<canvas>
  <shape a>
  <shape b>
  <shape c>
</canvas>

至:

<canvas>
  <shape b>
  <shape a>
  <shape c>
</canvas>
4

1 回答 1

2

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)
于 2013-08-23T03:03:23.307 回答