使用 lxml 在 python 中生成 xml 的正确方法

Right way to use lxml to generate xml in python

我正在尝试创建对应于目录结构的 xml(子目录和子目录中的文件)。当我尝试使用此示例时:Best way to generate xml? 而不是示例的输出,即:

<root>
  <child/>
  <child>some text</child>
</root>

我有:

b'<root>\n  <child/>\n  <child>some text</child>\n</root>\n'

为什么会这样? 如果重要,使用 PyCharm IDE。

'\n' 是换行字符 (LF)。

例如,当您将输出保存到一个文件并在某个编辑器中打开它时,您会得到您期望的结果。

你的输出没问题。

这是 Python 3 中的更改。etree.tostring() 返回字节文字,用 b'string value' 表示。请注意,每当您在字节文字中看到 \n 时,如果将其打印到文件中,则表示与换行相同。

您可以使用 s = s.decode('utf-8') 将其转换为常规字符串。