我正在寻找错误友好的(在BeautifulSoup的术语中是宽容的)python解析器的“坏”XML输入。问题是标签重叠。输入示例如下:
<trn>choya - <i><b>a cholla cactus </i> lat. <i>Cylindropuntia</b></trn></i>
我希望得到什么和XML complient结果,例如(好的我希望的结果)
<trn>choya - <b><i>a cholla cactus </i> lat. <i>Cylindropuntia</i></b></trn>
带有html.parser
或html5lib
的BeautifulSoup
给了我另外一些东西(坏的结果我不想要):
<trn>choya - <i><b>a cholla cactus </b></i> lat. <i>Cylindropuntia</i></trn>
注意<i>
和<b>
标签的顺序。如果我将<i>
标记为斜体,将<b>
标记为粗体,那么好的答案是
竹叶仙人掌
坏的答案是
秋叶仙人掌
我也试过旧的tidyhtml
,没有得到必要的结果。对于new tidy-html5
,找不到python接口。
你能帮帮我吗
谢谢!你知道吗
html.parser.HTMLParser
擅长解析标记soup,SAXXMLGenerator
类有一个方便的API来基于事件生成XML。你知道吗并不是所有的位都在这里实现,尤其不是标签的“刚性”/“权重”约束(现在我们所做的只是用我们期望的方式关闭标签,以使嵌套正确),但基本思想似乎是可行的。你知道吗
输出为
这是有效的XML,嵌套方面。你知道吗
祝你好运!你知道吗
相关问题 更多 >
编程相关推荐