python修改元素属性_Python当存在多个同名的元素属性时,如何编辑特定的XML元素内容?...

您可以使用xml.etree提供的有限XPath支持:>>> from xml.etree import ElementTree

>>> xml_data = """

...

...

...

...

... """.strip()

>>> tree = ElementTree.fromstring(xml_data)

>>> d2 = tree.find('element_content[@attribute="device_2"]')

>>> d2.set('type', 'new_type')

>>> print(ElementTree.tostring(tree).decode('utf-8'))

这里最重要的部分是一个XPath表达式,其中我们通过元素的名称和属性值来查找元素:

^{pr2}$

更新:因为所讨论的XML数据是事先不知道的。

您可以像这样查询第一个、第二个、…、最后一个元素(索引从1开始):

^{3}$

但是,由于您无论如何都要迭代元素,所以最简单的解决方案是只检查当前元素的属性:for element in root.iter(section):

if element.attrib.get('type') == 'parameter_2'):

element.set(attribute, attribute_value)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值