2

我使用 prolog 的 sgml 库来提取有关网页的信息。我使用此指令提取所有内容:

load_structure('file.html', List, [dialect(sgml), shorttag(false), max_errors(-1)])

系统加载页面,但我有一些警告,例如:

WARNING:SGML2PL(sgml): inserted omitted end-tag for "img"
WARNING:SGML2PL(sgml): inserted omitted end-tag for "br"
WARNING:SGML2PL(sgml): entity "amp" does not exist

我该怎么做才能消除此警告?

4

1 回答 1

2

我使用这种语法

get_html_file(FileOrStream, P) :-
        dtd(html, DTD),
        load_structure(FileOrStream, [P],
                       [ dtd(DTD),
                         dialect(sgml),
                         shorttag(false),
                         syntax_errors(quiet),
                         max_errors(-1)
                       ]).

该选项syntax_errors(quiet)应该做。

我记得我在解析有错误的旧页面时遇到了一些困难。错误处理可能很复杂,标签汤之类的工具更宽容,可以帮助完成工作......

于 2013-10-04T10:01:06.000 回答