上周我发了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>
和/或(父元素没有结束标记):
<EditData_Score>
<EditDataType>BEAT_SCORE</EditDataType>
<Beat>
<EditDataType>BEAT_MARK</EditDataType>
</Beat>
我想如果我知道行号,我就可以删除它,但是从我所研究的内容来看,在minidom中没有一个干净的方法。
谢谢!
答案 0 :(得分:0)
当XML数据加载到DOM表示中时,打开/关闭标记的概念不存在。 DOM知道元素及其内容。标签(打开和关闭)的存在只能与DOM的序列化版本一起使用 - 即它们是序列化编码的必要部分,但不是文档语义的一部分。
具有多个顶级标记或缺少开始或结束标记的序列化表示不是XML文档的有效表示,无法加载到DOM(或在DOM中以编程方式创建)实例。
如果必须这样做,则必须使用输出过滤器或单独的程序对输出进行后处理,或者编写自定义序列化程序。