user1195192
user1195192

Reputation: 699

ElementTree Write to an XML

What's the easiest way to write an edited XML root to a new file? This is what I have so far and it's throwing AttributeError: 'module' object has no attribute 'write'
PS: I can't use any other api besides ElementTree.

import xml.etree.ElementTree as ET
from xml.etree.ElementTree import Element, SubElement, Comment
from ElementTree_pretty import prettify
tree = ET.parse('file-to-be-edited.xml')
root = tree.getroot()

#Process XML here

ET.write('file-after-edits.xml')

Upvotes: 1

Views: 7793

Answers (2)

Vitor Ghiraldelli
Vitor Ghiraldelli

Reputation: 29

AttributeError: 'module' object has no attribute 'write' is saying that you cannot call the write method directly from ElementTree class, it is not a static method, try using tree.write('file-after-edits.xml'), tree is your object from ElementTree.

Upvotes: 1

mhawke
mhawke

Reputation: 87074

Your tree is a ElementTree object which provides a write() method to write the tree. For example:

#Process XML here
tree.write('file-after-edits.xml', encoding='utf8')

Upvotes: 1

Related Questions