我尝试使用这个问题中的答案,但无法使其起作用:如何使用 Python 的 ElementTree 创建“虚拟根”?
以下是我的代码:
import xml.etree.cElementTree as ElementTree
from StringIO import StringIO
s = '<?xml version=\"1.0\" encoding=\"UTF-8\" ?><!DOCTYPE tmx SYSTEM \"tmx14a.dtd\" ><tmx version=\"1.4a\" />'
tree = ElementTree.parse(StringIO(s)).getroot()
header = ElementTree.SubElement(tree,'header',{'adminlang': 'EN',})
body = ElementTree.SubElement(tree,'body')
ElementTree.ElementTree(tree).write('myfile.tmx','UTF-8')
当我打开生成的“myfile.tmx”文件时,它包含以下内容:
<?xml version='1.0' encoding='UTF-8'?>
<tmx version="1.4a"><header adminlang="EN" /><body /></tmx>
我错过了什么?还是有更好的工具吗?
TypeError: write() argument must be str, not bytes
. 我认为这是因为你在同一个open()命令中先写作字符串,然后再写作二进制。 - Elliott B