所以我正在运行一个第三方程序,它以XML输出。。。。下面是我感兴趣的XML部分:
<something>
<process>
<iteration number="0" value="186.88" delta="0.5" nu="0.5" rho="0.125" x="0.4375" max_f_grad="45.192" max_greyness_grad="0"/>
<iteration number="1" value ="125.89" delta ="0.44955" nu ="0.46812" rho ="0.1217" x="0.39894" max_f_grad="4.5908" max_greyness_grad="0"/>
<iteration number="2" value ="90.528" delta ="0.22576" nu ="0.48615" rho ="0.15828" x="0.44465" max_f_grad="2.8968" max_greyness_grad="0"/>
<iteration number="3" value ="75.885" delta ="0.22523" nu ="0.49176" rho ="0.19133" x="0.44226" max_f_grad="2.8594" max_greyness_grad="0"/>
<iteration number="4" value ="68.869" delta ="0.21915" nu ="0.49569" rho ="0.21463" x="0.43686" max_f_grad="2.8433" max_greyness_grad="0"/>
<iteration number="5" value ="64.864" delta ="0.2238" nu ="0.49721" rho ="0.22948" x ="0.43071" max_f_grad="2.8375" max_greyness_grad="0"/>
...........
............
</process>
<something>
现在我在python脚本中得到变量it=200
中“iteration number”的值,并希望找到相应的delta和值….如何在python
中做到这一点我是一个初学者。你知道吗
我推荐你xmltodict
有了这些数据你会看起来更好。你知道吗
如何使用ElementTree打印number=“200”的迭代元素的“值”:
请注意,ElementTree会将XML加载到内存中,因此对于非常大的(~gigabyte+)文件来说,它并不理想。你知道吗
如果你用的是xml.elementtree.Etree,可以使用以下代码获取任何
value
或delta
属性的值:如果您真的想对从
value
和delta
属性中获得的值做些什么,只需切换出print
语句,将这些值赋给将在迭代之外持久存在的对象。你知道吗它遍历根元素
<something>
中的所有<process>
元素,并在其中遍历每个<process>
元素中包含的所有<iteration>
元素。你知道吗编辑:如果我误解了您的问题,而您只想在属性
number
的值为200
的元素中保存value
和delta
属性的值:请注意,此语法只适用于ElementTree1.3或更高版本,因此如果您使用的是Python2.7或更低版本,它将不适用于您。你知道吗
相关问题 更多 >
编程相关推荐