簡體   English   中英

在Python中讀取XML文件,在一行中搜索鍵並替換值

[英]Read XML file in Python, search for key in a line and replace value

我有一個看起來像這樣的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)

它不是最好的方法,但是它適用於您提供的示例,並且可能會擴展,因為它會遍歷文件並查看每一行。 可能通過使用正則表達式等進行進一步的改進。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM