我正在寻找错误的XML输入的友好错误(在BeautifulSoup的术语中比较宽容)python解析器。问题是标签重叠。输入示例:
<trn>choya - <i><b>a cholla cactus </i> lat. <i>Cylindropuntia</b></trn></i>
我想要得到什么以及XML兼容的结果,例如(我希望的好结果)
<trn>choya - <b><i>a cholla cactus </i> lat. <i>Cylindropuntia</i></b></trn>
带有BeautifulSoup
或html.parser
的{{1}}给了我其他东西(我不想得到的不好结果):
html5lib
请注意<trn>choya - <i><b>a cholla cactus </b></i> lat. <i>Cylindropuntia</i></trn>
和<i>
标签的顺序。如果我将<b>
标记为斜体,将<i>
标记为粗体,则好答案是
choya- 霍乱仙人掌 纬度。 Cylindropuntia
,坏答案是
choya- 霍乱仙人掌 。 Cylindropuntia
我也尝试过旧的<b>
,但未获得必要的结果。对于新的tidyhtml
找不到python接口。
你可以帮我吗
谢谢!
答案 0 :(得分:0)
The Ionic CLI will exit. Please check any output above for error details.
擅长解析标记汤,SAX html.parser.HTMLParser
类具有便捷的API,可基于事件生成XML。
不是所有的位都在这里实现,尤其是不是标签的“刚度” /“权重”约束(现在我们要做的只是将标签与我们期望的正确贴合,以使嵌套正确),但基本想法似乎可行。
输出为
XMLGenerator
这是有效的XML(嵌套)。
祝你好运!
<trn>choya - <i><com>a cholla cactus </com> lat. <i>Cylindropuntia</i></i> native to US</trn>