我有一个像这样的 XML 文件!
<?xml version="1.0"?>
<root>
<child>
<add key="setid" value=".\print\data1" />
<add key="getid" value=".\print\data2" />
<add key="holdingid" value=".\print\data3" />
</child>
</root>
我想读取 XML 中的一行,搜索关键匹配项并将该行中的值替换为 .\donotpritnnt\data1
我可以使用 XMLPOKE 和 xpath 在 NANT 中做到这一点。尝试使用 dict、list(替换为 positionID)、split(代码不够好,无法在此处显示)
我该如何解决这个问题?
假设您的 XML 代码位于工作目录中的test.xml中。
new_content = []
with open("test.xml") as f:
content = f.readlines()
for line in content:
newline = line
if 'key="setid"' in line:
newline = line[:line.find("value=")] + 'value=".\donotpritnnt\data1" />\n'
new_content += [newline]
with open('test.xml', 'w') as f:
for line in new_content:
f.write(line)
它不是最好的方法,但它适用于您提供的示例,并且也可能是可扩展的,因为它遍历文件并查看每一行。可能通过使用正则表达式等进一步改进。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句