我们正在通过一些外部转换器工具将 DOCX 转换为 HTML。 为表格生成的 HTML 包含如下内容:
<td><div><span><b>Patienten</b></span></div></td>
<div>
和 <span>
TD 中的标签在这里完全是多余的。
预期的结果是
<td><b>Patienten</b></td>
是否有机会使用 BeautifulSoup 以理智的方式移除它们?
最佳答案
嗯,<div>
和 <span>
标签具有结构意义,不能被自动猜测为“多余”。
您的问题看起来与编译器中完成的 AST(抽象语法树)优化非常相似。您可以尝试定义一些规则并构建一个 SoupOptimizer
获取一棵树(您的文档)并生成优化的输出树。规则可以是:
- span(content) -> 内容,如果 span.attributes 为空
- div(content) -> 内容,如果 div.attributes 为空
请注意,XML 方言上的树转换可以使用 XSLT 完成。准备好在你看到光明之前把你的大脑翻个底朝天!
关于python - 删除不必要的内部标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5473966/