在Python中自带多种处理XML的工具库,如dom4j,SAX等,这里我们认识一下另外一种,较这两种有更多优点的ElementTree,具体可以百度一下了,这里不再多说,先看示例,代码的目的就是怎么从零创建一个新的XML文件

 1 #!python
 2 #coding=GBK
 3 ################################################################################
 4 #    通过ElementTree来操作XML
 5 #
 6 ################################################################################
 7 from xml.etree import cElementTree as ET
 8 from xml.dom import minidom
 9 
10 def fomatTree(elem):
11     """格式化XML的内容,用于输出,保存XML时并不需要"""
12     root_str = ET.tostring(elem, 'UTF-8')
13     reparse = minidom.parseString(root_str)
14     return reparse.toprettyxml(" ")
15 def createXML():
16     """创建新的XML文件"""
17     head = """
18     <clearcase module="portal">    
19     </clearcase>
20     """
21     root = ET.fromstring(head)
22     elem = ET.Element("version", {'editor': 'magc', 'time': '20120523',})
23     elem2 = ET.Element('branch', {'editor': 'wang', 'time': '202203',})
24     root.append(elem)
25     root.append(elem2)
26     
27     print fomatTree(root)
28     ET.ElementTree(root).write('samples.xml')
29     
30     
31     
32     
33     
34 if __name__ == '__main__':
35     createXML()

控制台运行结果如下图:

生成的samples.xml内容如下:

注:1)通过mindom格式化只是为了输出到控制台的,写入文件时,并不需要此过程的

  2)注意分清ElementTree实例与Element实例,以及由Element转化到ElementTree,然后再用write方法,来输出到文件中