写入不同的元素路径并有效地保存不同版本的XML文件

时间:2015-02-18 06:18:48

标签: python xml parsing loops elementtree

我是一个蟒蛇新手。我想有效地(为了内存)写入xml文件的不同特定路径,并递归地保存xml文件的不同变体。 XML文件超过100k行并且深度嵌套。

来说明。给出了伪代码(jerry.xml),

<data>
<country name="Liechtenstein">
     <rank updated="yes">2</rank>
     <language>english</language>
     <currency>1.21$/kg</currency> 
     <gdppc>141100</gdppc>
     <gdpnp>2.304e+0150</gdpnp>
     <neighbor name="Austria" direction="E"/>
     <neighbor name="Switzerland" direction="W"/>
 </country>
 <country name="Singapore">
      <rank updated="yes">5</rank>
     <language>english</language>
     <currency>4.1$/kg</currency> 
     <gdppc>59900</gdppc>
     <gdpnp>5.2e-015</gdpnp>
     <neighbor name="Malaysia" direction="N"/>
 </country>

如何以递归方式写入并保存此XML(jerry.xml)的不同变体,以便每个实例的唯一区别仅在于其中一个元素文本的更改。例如。对于第一个实例,jerry.xml和new_jerry.xml之间的区别仅在于country "Liechtenstein" gdppc现在是500000而不是141100。有没有办法实现效率循环并为所有元素文本执行此操作?

我想我可以使用for path in root.iterfind('path'):tree.write(new_jerry.xml),但我需要先找到路径。

任何帮助都将不胜感激。

0 个答案:

没有答案