【发布时间】:2020-10-20 18:52:00
【问题描述】:
我在使用 lxml 对一些 XML 进行编码时遇到了一点问题。具体来说,我有这个 xml 片段:
<p>first para</p><p><ul><li>item1</li><li>item2</li></ul></p>
在我使用的代码中:
_before = fragment_fromstring(_before)
但是,这给了我:
<p>first para</p><p/><ul><li>item1</li><li>item2</li></ul>
这是因为在 HTML 中您不会将段落包裹在列表周围。但是,在 XML 的这种特殊情况下,我可以而且需要这样做。
我试过了:
_before = et.fromstring(_before)
但是,这给了我这个错误:
lxml.etree.XMLSyntaxError: error parsing attribute name, line 1, column 972
查看文档,我看不到告诉 lxml 的方法,我给你一个 xml 片段,我不在乎我是否有一个根元素(我实际上是在构建所有我去的时候)。
有人知道我如何将一个 XML 代码片段传递给 lxml 并获得一个编码的 lxml 片段吗?
【问题讨论】:
-
"xml 片段"?如果没有根元素,则不是 XML。
-
这很公平......但我正在尝试先构建该片段以添加到根目录,但不希望应用 HTML 规则。