- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我曾尝试使用此问题的答案,但无法使其工作:How to create "virtual root" with Python's 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>
我错过了什么?或者,是否有更好的工具?
最佳答案
你可以设置xml_declaration write
函数上的参数为 False
,因此输出将没有带有编码的 xml 声明,然后只需手动附加您需要的 header 。实际上,如果您将编码设置为 'utf-8'(小写),也不会添加 xml 声明。
import xml.etree.cElementTree as ElementTree
tree = ElementTree.Element('tmx', {'version': '1.4a'})
ElementTree.SubElement(tree, 'header', {'adminlang': 'EN'})
ElementTree.SubElement(tree, 'body')
with open('myfile.tmx', 'wb') as f:
f.write('<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE tmx SYSTEM "tmx14a.dtd">'.encode('utf8'))
ElementTree.ElementTree(tree).write(f, 'utf-8')
结果文件(为便于阅读手动添加换行符):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tmx SYSTEM "tmx14a.dtd">
<tmx version="1.4a">
<header adminlang="EN" />
<body />
</tmx>
关于python - 如何使用 Python 的 cElementTree 创建 <!DOCTYPE>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8868248/
有很多线程解释了选择什么 Doctype,但我找不到任何解释实际语法的线程。举个例子: 特别是: PUBLIC 是否可以替换为其他值,是什么意思? 为什么 url 需要用引号括起来? 是什么 ”-”
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我正在尝试制作 100% 高度的东西,但添加文档类型会破坏它。这在 other questions 上进行了解释. 然而,我发现了一些奇怪的事情——如果我关闭 doctype 标签(我知道你不应该这样
美好的一天, 我正在开发一个 C# Web 应用程序,一切正常,直到我添加普通的 JavaScript。 html代码如下: JScript.js是放入的 JavaS
我有一个主要的框架集页面,它使用 FRAMESET 文档类型..现在它里面有 3 个框架.. 现在对于第 2 帧,我想使用一些 HTML5 代码 ()...所以我想我必须使用 doctype 现在我的
我正在制作一个网页,我即将完成,所以我决定通过一个 html 验证器来验证它,但我的页面出现了一堆错误。我的页面目前适用于 ...但是当我输入 我页面的间距中断。 示例:工作时的图片 代码: 当我添
我刚刚在 W3C 验证器上检查了我的个人登陆页面以确保它是正确的 HTML5,然后发现我需要 而不是 通过。 但是背景图片不会延伸到底部。我已经尝试了 wrapper 的最小高度,并清除了,但似乎没有
这是文档类型所在的文件: Taekwendo tinymce.init({ selector: '#art
这是我的问题的 html 代码 Insert title here var arr = [ "A", "B", "C" ]; for (var i = 0; i 在
我在抓取一些具有多个 声明的网站时遇到了困难。 。 我正在使用带有 requests 的 Python 2.7.9 和来自 bs4 的 BeautifulSoup。当我执行 requests.get
我刚刚在 Windows Server 2008 上创建了一个新的 IIS 网站,以便使用它来部署新网站。 该网站仍然是空的。 如果我尝试在“管理工具”下打开 IIS Web 平台安装程序,则会遇到错
是否有使用 HTML 5 文档类型的专家 ,即使我没有使用任何新的 HTML 5 标签?即使我没有使用任何新的 HTML 5 标签,用 HTML 5 文档类型替换 XHTML 文档类型有什么好处吗?
假设我想将旧网站更改为“HTML5”风格。简单地更改标题是否安全 doctype如下? 原始文档类型可能是: 或 如果改为不可能破坏遗留网页的呈现方式,我认为它是安全的。 最佳答案 为什么是的,
通过在 windows 命令提示符下运行以下命令创建了一个全新的 express.js 项目 npm install express -g express newproject cd newproje
我懂了 DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" se
这个问题在这里已经有了答案: background-color property doesn't work correctly with HTML5 DOCTYPE [duplicate] (1
我在没有使用 Doctype 的情况下构建了我的页面,但是没有它我可以获得我期望的结果。 即使用户尝试调整窗口大小时,我也尝试每行列出 4 张图像并填充页面。 问题是我最近添加了 Doctype,这里
我注意到我的一个 html 表单存在问题,文本输入字段被截断了。我将其原因缩小到我们在页面顶部使用的 指令。 当我排除 指令时,下面场景中的输入正确呈现,这意味着文本输入字段被完整绘制。但是当我按
我知道很多人在切换到 时遇到类似的问题行,然而,我已经尝试了所有的方法,甚至是经典的 html{height: 100%;} body {min-height: 100%;} 方法,以及其他方法,但
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to replace with in an html file 我在我的
我是一名优秀的程序员,十分优秀!