我正在尝试解析类似以下文件的内容: http://www.sec.gov/Archives/edgar/data/1409896/000118143112051484/0001181431-12-051484.hdr.sgml
我使用Python 3,并且一直无法找到使用现有库解析带有开放标记SGML文件的解决方案。SGML允许隐式关闭标记。当尝试使用LXML、XML或beautiful soup解析示例文件时,最终会将隐式关闭标记关闭在文件末尾而不是行末。
例如:
<COMPANY>Awesome Corp
<FORM> 24-7
<ADDRESS>
<STREET>101 PARSNIP LN
<ZIP>31337
</ADDRESS>
这最终被解释为:
<COMPANY>Awesome Corp
<FORM> 24-7
<ADDRESS>
<STREET>101 PARSNIP LN
<ZIP>31337
</ADDRESS>
</ZIP>
</STREET>
</FORM>
</COMPANY>
然而,我需要它被解释为:
<COMPANY>Awesome Corp</COMPANY>
<FORM> 24-7</FORM>
<ADDRESS>
<STREET>101 PARSNIP LN</STREET>
<ZIP>31337</ZIP>
</ADDRESS>
如果有一个可以处理这个问题的非默认解析器可以传递给LXML/BS4,而我却没有发现它。