如何使用 minidom 删除 XML 中的单个开始或结束标记
How to delete a single opening or closing tag in an XML using minidom
我上周发了 this 帖子,但没有收到任何回复,所以可能是措辞太差,因此难以理解。
使用 python 3.5 及其默认的 minidom,我想知道是否有可能改变这个:
<EditData_Score>
<EditDataType>BEAT_SCORE</EditDataType>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
</Beat>
</EditData_Score>
进入这个(父元素没有开始标签):
<EditDataType>BEAT_SCORE</EditDataType>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
</Beat>
</EditData_Score>
and or this(父元素没有结束标签):
<EditData_Score>
<EditDataType>BEAT_SCORE</EditDataType>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
</Beat>
我想如果我知道行号我就可以那样删除它,但根据我的研究,在 minidom 中没有一种干净的方法可以做到这一点。
谢谢!
当XML数据加载到DOM表示中时,opening/closing标签的概念不存在。 DOM 知道 元素 及其内容。标签(打开和关闭)的存在只与 DOM 的序列化版本有关——即它们是序列化编码的必要部分,但不是文档语义的一部分。
具有多个顶级标签或缺少开始或结束标签的序列化表示不是 XML 文档的有效表示,无法加载到 DOM(或创建以编程方式在 DOM) 实例中。
如果您必须这样做,您将不得不 post- 使用输出过滤器或单独的程序处理输出,或者编写自定义序列化程序。
我上周发了 this 帖子,但没有收到任何回复,所以可能是措辞太差,因此难以理解。
使用 python 3.5 及其默认的 minidom,我想知道是否有可能改变这个:
<EditData_Score>
<EditDataType>BEAT_SCORE</EditDataType>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
</Beat>
</EditData_Score>
进入这个(父元素没有开始标签):
<EditDataType>BEAT_SCORE</EditDataType>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
</Beat>
</EditData_Score>
and or this(父元素没有结束标签):
<EditData_Score>
<EditDataType>BEAT_SCORE</EditDataType>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
</Beat>
我想如果我知道行号我就可以那样删除它,但根据我的研究,在 minidom 中没有一种干净的方法可以做到这一点。
谢谢!
当XML数据加载到DOM表示中时,opening/closing标签的概念不存在。 DOM 知道 元素 及其内容。标签(打开和关闭)的存在只与 DOM 的序列化版本有关——即它们是序列化编码的必要部分,但不是文档语义的一部分。
具有多个顶级标签或缺少开始或结束标签的序列化表示不是 XML 文档的有效表示,无法加载到 DOM(或创建以编程方式在 DOM) 实例中。
如果您必须这样做,您将不得不 post- 使用输出过滤器或单独的程序处理输出,或者编写自定义序列化程序。