我试图解析一个文件,如:http: //www.sec.gov/Archives/edgar/data/1409896/000118143112051484/0001181431-12-051484.hdr.sgml
我正在使用Python 3,并且无法找到现有库的解决方案来解析带有开放标记的SGML文件.SGML允许隐式封闭标签.当试图用LXML,XML或美丽的汤解析示例文件时,我最终会在文件的末尾而不是在行的末尾关闭隐式封闭的标签.
例如:
<COMPANY>Awesome Corp
<FORM> 24-7
<ADDRESS>
<STREET>101 PARSNIP LN
<ZIP>31337
</ADDRESS>
Run Code Online (Sandbox Code Playgroud)
这最终被解释为:
<COMPANY>Awesome Corp
<FORM> 24-7
<ADDRESS>
<STREET>101 PARSNIP LN
<ZIP>31337
</ADDRESS>
</ZIP>
</STREET>
</FORM>
</COMPANY>
Run Code Online (Sandbox Code Playgroud)
但是,我需要将其解释为:
<COMPANY>Awesome Corp</COMPANY>
<FORM> 24-7</FORM>
<ADDRESS>
<STREET>101 PARSNIP LN</STREET>
<ZIP>31337</ZIP>
</ADDRESS>
Run Code Online (Sandbox Code Playgroud)
如果有一个非默认解析器传递给LXML/BS4可以处理这个,我就错过了它.