相关疑难解决方法(0)

在Python 3中使用开放任意标记解析SGML

我试图解析一个文件,如: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可以处理这个,我就错过了它.

python xml sgml lxml python-3.x

15
推荐指数
1
解决办法
2757
查看次数

标签 统计

lxml ×1

python ×1

python-3.x ×1

sgml ×1

xml ×1