如何使用Minidom将元素与xml中的其他元素一起注入?

时间:2016-05-25 08:52:24

标签: python xml minidom

我正在使用minidom和Python 3.5

原始xml数据如下所示: (Beat和EditData_Score节点/标签的数量是固定的(在这种情况下为3个)。

<EditData_Score>
<EditDataType>BEAT_SCORE</EditDataType>
<Spot>20</Spot>
<Time>7</Time>
<Type>X</Type>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
<Spot>26</Spot>
<BeatLength>4.84472036</BeatLength>
</Beat>
</EditData_Score>
<EditData_Score>
<EditDataType>BEAT_SCORE</EditDataType>
<Spot>36</Spot>
<Time>10</Time>
<Type>X</Type>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
<Spot>48</Spot>
<BeatLength>4.84472036</BeatLength>
</Beat>
</EditData_Score>

如您所见,Beat元素嵌套在EditData_Score元素中。 并且Spot节点的值总是在增加。我想整合EditData_Score元素,添加一些小的改动然后放入并重新分配Beats,以便EditData_Score封装所有指定的节拍:

<EditData_Score>
<EditDataType>BEAT_SCORE</EditDataType>
<Spot>20</Spot>
<Time>17</Time>
<Type>X</Type>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
<Spot>26</Spot>
<BeatLength>4.84472036</BeatLength>
</Beat>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
<Spot>48</Spot>
<BeatLength>4.84472036</BeatLength>
</Beat>
</EditData_Score>

我想我可以解析xml一次:

  • 将我要分组的所有节目添加到列表中
  • 将我要保留的所有EditDataScores添加到列表中

再次解析它:

  • 删除/删除/取消设置?所有旧的Beats和EditDataScores
  • 在适当的EditDataScore
  • 中禁用节拍组

0 个答案:

没有答案