这是输入XML文件input.xml
:
<edges>
<edge from_="4" id_="488909c258004c9197c95f6f66bfec25" numLanes="3" to="0"/>
<edge from_="1" id_="54e2c0a3f63b4e869fb6c62c0255ac9c" numLanes="3" to="0"/>
<edge from_="3" id_="fc4d9a75d45343a4a2523c713f5e727c" numLanes="5" to="0"/>
<edge from_="2" id_="2bf32d7d7b1545d58ea945a0c8a6e9a3" numLanes="3" to="0"/>
<edge from_="0" id_="671fe5d822ba4093b2d5163708378f19" numLanes="3" to="4"/>
<edge from_="0" id_="9ca39900ffe44887838f1f77edaedb90" numLanes="3" to="1"/>
<edge from_="0" id_="d5435e6103b845a28b9a4c2ae1df2f02" numLanes="3" to="3"/>
<edge from_="0" id_="2573a935d265469995d647fa5fe82599" numLanes="3" to="2"/>
</edges>
我想做的是将每个edge
元素的属性名from_
更改为from
,将id_
更改为id
。因此,输出应如下所示:
<edges>
<edge from="4" id="488909c258004c9197c95f6f66bfec25" numLanes="3" to="0"/>
<edge from="1" id="54e2c0a3f63b4e869fb6c62c0255ac9c" numLanes="3" to="0"/>
<edge from="3" id="fc4d9a75d45343a4a2523c713f5e727c" numLanes="5" to="0"/>
<edge from="2" id="2bf32d7d7b1545d58ea945a0c8a6e9a3" numLanes="3" to="0"/>
<edge from="0" id="671fe5d822ba4093b2d5163708378f19" numLanes="3" to="4"/>
<edge from="0" id="9ca39900ffe44887838f1f77edaedb90" numLanes="3" to="1"/>
<edge from="0" id="d5435e6103b845a28b9a4c2ae1df2f02" numLanes="3" to="3"/>
<edge from="0" id="2573a935d265469995d647fa5fe82599" numLanes="3" to="2"/>
</edges>
我试图通过xml.etree.ElementTree
访问元素的属性,但不知道如何更改它:
import xml.etree.ElementTree as et
with open('input.xml', encoding = 'utf-8') as f:
tree = et.parse(f)
root= tree.getroot()
for edge in root:
print(list(edge.attrib.keys())[:2])
如何使用Python3实现这一点
您可以使用内置的
结果:xml
模块来实现这样一个简单的事情。例如,使用ipython会话将数据加载到ElementTree
中:相关问题 更多 >
编程相关推荐