相关疑难解决方法(0)

如何使用Python的ElementTree创建"虚拟根目录"?

我正在尝试使用Python的ElementTree生成XHTML文件.

但是,ElementTree.Element()只允许我创建一个标记(例如,HTML).我需要创建一些虚拟根或任何它被调用,以便我可以放置各种,DOCTYPES等.

我怎么做?谢谢

python elementtree

5
推荐指数
1
解决办法
1086
查看次数

如何将 ElementTree 保存为 UTF-16

我正在尝试使用 cElementTree 保存编码为 UTF-16 的 XML 文件。这是同一个项目,但与以下中的 DOCTYPE 问题不同:How to create <!DOCTYPE> with Python's cElementTree

我了解到,如果我没有在字符串中声明编码,cElementTree 将添加它。所以,代码是这样的:

import xml.etree.cElementTree as ElementTree
from StringIO import StringIO
s = '<?xml version=\"1.0\" ?><!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-16')
Run Code Online (Sandbox Code Playgroud)

当我用 UTF-8 编写文件时,一切都很好。但是,当我更改为 UTF-16 时,文本编码已损坏。它还缺少所需的字节顺序标记。当我尝试将 BOM 添加到字符串的开头时,

s = '\xFF\xFE<?xml version=\"1.0\"......
Run Code Online (Sandbox Code Playgroud)

ElementTree 报告错误“格式不正确(无效标记)第 1 行第 1 列”。

所有缓冲区都是 unicode 数据。如何保存为 UTF-16 XML 文件?

python xml elementtree

1
推荐指数
1
解决办法
2232
查看次数

标签 统计

elementtree ×2

python ×2

xml ×1