Python 3.2.5 x64 元素树
我有需要使用python格式化的数据。 基本上我有元素和子元素的文件。我需要删除其中一些元素的子元素。我已经检查过以前的问题了,但我无法给出答案。到目前为止,我所拥有的最好的方法只是删除每一个子元素。在
样本数据:
<Leg1:MOR oCount="7" xmlns:Leg1="http://what.not">
<Leg1:Order>
<Leg1:CTemp id="FO">
<Leg1:Group bNum="001" cCount="4">
<Leg1:Dog ndate="112" pdate="111"/>
<Leg1:Dog ndate="122" pdate="121"/>
<Leg1:Dog ndate="132" pdate="131"/>
<Leg1:Dog ndate="142" pdate="141"/>
</Leg1:Group>
<Leg1:Group bNum="002" cCount="4">
<Leg1:Dog ndate="112" pdate="111"/>
<Leg1:Dog ndate="122" pdate="121"/>
<Leg1:Dog ndate="132" pdate="131"/>
<Leg1:Dog ndate="142" pdate="141"/>
</Leg1:Group>
</Leg1:CTemp>
<Leg1:CTemp id="GO">
<Leg1:Group bNum="001" cCount="4">
<Leg1:Dog ndate="112" pdate="111"/>
<Leg1:Dog ndate="122" pdate="121"/>
<Leg1:Dog ndate="132" pdate="131"/>
<Leg1:Dog ndate="142" pdate="141"/>
</Leg1:Group>
<Leg1:Group bNum="002" cCount="4">
<Leg1:Dog ndate="112" pdate="111"/>
<Leg1:Dog ndate="122" pdate="121"/>
<Leg1:Dog ndate="132" pdate="131"/>
<Leg1:Dog ndate="142" pdate="141"/>
</Leg1:Group>
</Leg1:CTemp>
</Leg1:Order>
</Leg1:MOR>
我需要的输出是什么样子的:
^{pr2}$我有一段时间没写任何东西了,我的代码也没用。我可以解析文件,然后写它我无法得到正确的处理。在
import xml.etree.cElementTree as ET
tree = ET.parse("input.xml")
root = tree.getroot()
for x in root.findall('./Order/CTemp/Group'):
root.remove(x)
tree.write("output.xml")
如何让它删除CTemp
元素的Dog
子元素?在
如果您可以使用lxml,请尝试以下操作:
现在
^{pr2}$leg.out.xml
如下所示:相关问题 更多 >
编程相关推荐