2014-09-15 1 views
4

Я создал дерево XML с чем-то вроде этогосамосвала ElementTree в XML-файл

top = Element('top') 
child = SubElement(top, 'child') 
child.text = 'some text' 

как я дамп его в файл XML? Я пробовал top.write(filename), но метода не существует.

+1

Почему вы пытаетесь угадать синтаксис? Вы читали [документы] (https://docs.python.org/2/library/xml.etree.elementtree.html)? – jonrsharpe

ответ

8

Вам нужно создать экземпляр объекта ElementTree и вызвать write() метод:

import xml.etree.ElementTree as ET 

top = ET.Element('top') 
child = ET.SubElement(top, 'child') 
child.text = 'some text' 

tree = ET.ElementTree(top) 
tree.write('output.xml') 

Содержание в output.xml после выполнения кода:

<top><child>some text</child></top> 
+2

@Bob: Причина, по которой вам нужен экземпляр ElementTree, заключается в том, что «этот класс представляет собой целую иерархию элементов и добавляет дополнительную поддержку для сериализации * в стандартный XML». (Курсив добавлен.) –