我正在寻找一个用Python编写的自由(指自由软件)HTML缩进器(或重新缩进器)(模块或命令行)。 我不需要使用白名单过滤HTML。 我只想缩进(或重新缩进)HTML源代码以使其更易读。 例如,假设我有以下代码:
<ul><li>Item</li><li>Item
</li></ul>
输出可能是这样的:
<ul>
<li>Item</li>
<li>Item</li>
</ul>
注意:我不是在寻找与非Python软件(例如用C编写的Tidy)的接口,而是要找一个100% Python脚本。
非常感谢。
<?xml version="1.0" ?>
这一行? - Arbaz Siddiqui'\n'.join(x.toprettyxml().splitlines()[1:])
(虽然不是最好的解决方案,但可以完成工作)。 - Elishaheader='<?xml version="1.0" encoding="utf-8"?>'
(这是当前默认的xml头),可以使用以下代码:re.sub(re.escape(header), '', xml, flags=re.IGNORECASE | re.MULTILINE).strip()
(先导入import re
)。 - PatrickT<?xml version="1.0" ?>
,我使用了html = html[23:-1]
。这也会去掉末尾的空行。 - Harley.strip()
更加安全。 - Elishaxml.parsers.expat.ExpatError: not well-formed (invalid token)
的错误--清理源代码可能需要更多的努力,请参考https://dev59.com/7lUM5IYBdhLWcg3wdP5O。 - Mark Chackerian