美好的一天,
我正在使用BeautifulSoup解析一个XML文件,该文件的标签类似于下面的示例,其中包含一些二进制数据:
<data length=1234 encoding="x-modified">
:M\ANEG9&3I6%1I8CN!68<ID(E]*%N]Y/J;:6EYM6&N:9<E9).YA*I:94*]9O.[Y
R;59Z0LEWY;74*:E!5YWM8KE[AE;48:5N"I74*:H(E#L79X57ZG1'E:85=YVE68,
:3=5=:B&FVN-Y(EU;UJ:*28FSQ#F6,ID'V:EE-JVN=APE:9X&8EYFL<67TI$DBR0
........
</data>
标签,属性和二进制数据全部读取错误,如下所示:
<data>1234 encoding="x-modified">
:M\ANEG93I6%1I8CN!68<ID>(E]*%N]Y/J;:6EYM6<E9>).YA*I:94*]9O.[Y
R;59Z0LEWY;74*:E!5YWM8KE[AE;48:5N"I74*:H(E#L79X57ZG1'E:85=YVE68,
:3=5=:B(EU;UJ:*28FSQ#F6,ID'V:EE-JVN=APE:9X8EYFL</E9></ID></data>
请注意当数据中遇到“ <”时如何截断数据。另外请注意,读取标签时会删除属性“ length”。
感谢任何可以解决此问题的想法。
谢谢。
答案 0 :(得分:0)
您将其描述为XML文件,但事实并非如此。
数据是一团糟(在XML中,文本节点中不允许使用“ <”进行转义),尽管BeautifulSoup会尽力创建混乱的订单,但这并不是魔术,而且显然失败了此示例。
我的建议是使用XML或JSON之类的标准进行数据传输,而不是使用没有正式定义的定义不正确的近似值。除非您有格式说明,否则您不能可靠地解析数据文件。