为了账号安全,请及时绑定邮箱和手机立即绑定

解析xml类型文件

解析xml类型文件

守着一只汪 2021-08-24 18:05:30
我有一个 xml 类型的文档:<configuration>    <appSettings>        <add key="title" value="Donny" />        <add key="updaterApplication" value="Updater v4.3" />    </appSettings></configuration>我需要修改一个特定的条目,例如value="Updater v4.3"to value="Updater v4.4",当 add 时key="updaterApplication"。我试过:import xml.etree.ElementTree as ETtree = ET.parse(my_file_name)root = tree.getroot()tkr_itms = root.findall('appSettings')for elm in tkr_itms[0]:    print(elm)    print(elm.attributes)    print(elm.value)    print(elm.text)但无法解决'< ... />'.
查看完整描述

2 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

我看到你发现“'< ... />' 之间的内容”是属性。


迭代add元素并检查key属性值的另一种方法是检查谓词中的属性值。


例子...


蟒蛇


import xml.etree.ElementTree as ET


tree = ET.parse("my_file_name")

root = tree.getroot()

root.find('appSettings/add[@key="updaterApplication"]').attrib["value"] = "Updater v4.4"


print(ET.tostring(root).decode())

输出


<configuration>

    <appSettings>

        <add key="title" value="Donny" />

        <add key="updaterApplication" value="Updater v4.4" />

    </appSettings>

</configuration>


查看完整回答
反对 回复 2021-08-24
?
呼如林

TA贡献1798条经验 获得超3个赞

没关系...:


import xml.etree.ElementTree as ET

tree = ET.parse(my_file_name)

root = tree.getroot()

for elm in root.iter('add'):

    if elm.attrib['key']=='updaterApplication':

        elm.attrib['value'] = 'Updater v4.4'

    print(elm.attrib)


查看完整回答
反对 回复 2021-08-24
  • 2 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信