生成缺少根元素的无效"XML

0 投票
2 回答
1643 浏览
提问于 2025-04-17 19:12

我正在使用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。

我能想到两种方法:

  1. 先用<MyRoot>渲染成字符串,然后用字符串操作把它去掉。
  2. <MyRoot>下面的所有子元素渲染成字符串,然后自己把它们拼接起来。

在这两种不太理想的选择中,我个人更喜欢第二种。

撰写回答