2010-08-23 83 views
0

我有一個包含key = value對的文本文件。我有另一個XML文件,其中包含「關鍵字」作爲「源」節點和「值」作爲「目標節點」。將元素值寫入Python中的XML

<message> 
    <Source>key</Source> 
    <Destination>value</Destination> 
</message> 

假設,我得到一個新的文本文件包含相同的鍵但不同的值,我該如何去改變使用minidom XML文件?

這可能嗎?

回答

2

它會更容易重新生成XML文件,而不是在地方進行修改:

from xml.dom.minidom import Document 

doc = Document() 
root = doc.createElement("root") 

for key, value in <some iterator>: 
    message = doc.createElement("message") 

    source = doc.createElement("Source") 
    source.appendChild(doc.createTextNode(key)) 

    dest = doc.createElement("Destination") 
    dest.appendChild(doc.createTextNode(value)) 

    message.appendChild(source) 
    message.appendChild(dest) 
    root.appendChild(message) 

doc.appendChild(root) 

print(doc.toprettyxml()) 

這將打印:

<root> 
    <message> 
     <Source> 
      key 
     </Source> 
     <Destination> 
      value 
     </Destination> 
    </message> 
</root> 

你可以使用例如configparser來讀取文件;你可能有更好的方法。

+0

然後'doc.writexml(pythonfileobject)'或類似的東西... http://docs.python.org/library/xml.dom.minidom.html – Skilldrick 2010-08-23 11:45:18

+0

感謝所有的答覆。 – RMR 2010-08-24 05:52:41