生成缺少根元素的无效"XML
我正在使用Python的Elementtree库来解析XML文件。我正在编辑这个XML,现在我遇到了一个问题:我需要生成一个没有根元素的XML。
从输出来看:
<MyRoot>
<Type>
something...
</Type>
<Type>
...
</Type>
<Type>
...
</Type>
</MyRoot>
比如说,它必须生成这样的XML:
<Type>
something...
</Type>
<Type>
...
</Type>
<Type>
...
</Type>
你能帮我吗?我希望你能明白我需要什么。
我需要这个是为了另一个软件,但不幸的是那个软件只处理没有根元素的XML,这让我很困惑。
2 个回答
0
简单来说,就是一个一个地遍历你的元素,对每个元素使用 ElementTree.tostring
这个函数,然后把得到的字符串拼接在一起。
1
你找不到简单的方法来做到这一点,因为这算是“坏”的XML。
我能想到两种方法:
- 先用
<MyRoot>
渲染成字符串,然后用字符串操作把它去掉。 - 把
<MyRoot>
下面的所有子元素渲染成字符串,然后自己把它们拼接起来。
在这两种不太理想的选择中,我个人更喜欢第二种。