如何使用python在xml文件中插入带有属性的新标记?

时间:2016-01-13 12:13:43

标签: python xml xml-parsing

我有一个xml文件,我想在其中使用python脚本在其中添加一个带有属性的标记。

<package> 
  <data> 
    <id>sample</id> 
    <version>1.1</version> 
  </data>
  <files>
   <file src = "C:/sample.txt"/>
  </files>
</package>

我使用属性添加标记的python脚本如下脚本,但它没有按我的意愿添加标记:

import xml.etree.ElementTree as ET
tree_A = ET.parse('test.xml')
root_A= tree_A.getroot()
print root_A[1].tag
if root_A[1].tag is not None:    
    newNodeName = ET.Element('file src')
    newNodeName.text ="D:/other.txt"
    newNode.append(newNodeName)
    root_A[1].insert(0,newNodeName)
tree_A.write('test.xml')

我得到的输出xml是:

<package> 
  <data> 
    <id>sample</id> 
    <version>1.1</version> 
  </data>
  <files>
   <file src = "C:/sample.txt"/>
   ###i want following tag as <file src ="D:/other.txt"/>
   <file src> D:/other.txt</file src> 
  </files>
</package>

那么,请建议我如何在xml文件中添加带有属性的标记?

1 个答案:

答案 0 :(得分:1)

您可以使用ET.Element('file', {'src':'D:/other.txt'})使用名为file的属性构建名为src的元素。