如何向dom对象添加xml头

2024-10-01 15:29:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是Python的xml.dom.minidom但我认为这个问题对任何DOM解析器都是有效的。在

我的原始文件的开头有这样一行:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

这似乎不是dom的一部分,所以当我做弓形虫()结果字符串开头没有行。在

我该怎么加?在

示例输出:

^{pr2}$

希望能说清楚。在


Tags: 文件字符串解析器示例versionxmldomutf
1条回答
网友
1楼 · 发布于 2024-10-01 15:29:29

This doesn't seem to be part of the dom

XML声明没有得到它自己的节点,没有,但是它声明的属性在Document对象上是可见的:

>>> doc= minidom.parseString('<?xml version="1.0" encoding="utf-8" standalone="yes"?><a/>')
>>> doc.encoding
'utf-8'
>>> doc.standalone
True

序列化文档应该包含声明的standalone="yes"部分,但是{}没有。您可能会认为这是一个错误,但实际上toxml()方法没有保证以适当的方式序列化XML声明。(例如,除非你特别要求,否则你不会得到encoding。)

您可以自己负责编写文档:

^{pr2}$

但是您真的需要XML声明吗?您使用的是默认版本和编码,并且由于您没有DOCTYPE,因此不可能有外部定义的实体,因此文档本质上已经是独立的。根据XML standard:“如果没有外部标记声明,独立文档声明就没有意义”。在我看来,你可以完全忽略它。在

相关问题 更多 >

    热门问题