我有这个代码:
main:-
load_structure('ethernet.html',Element,[dialect(sgml),shorttag(false)]),
xpath(Element, //title, TITLE).
结果是:
TITLE=element(title,[],[This is my lan]).
我只会得到“这是我的局域网”。我能怎么做?我已阅读库(xpath)但我没有找到解决方案。
元素保存完整的页面结构。你在搜索什么?
例如,遍历所有段落并显示缩进
...
forall(xpath(Element, //p, Para), xml_show("", _, Para))
...
其中 xml_show 是我前段时间写的一个助手,试图检查一些真实世界的数据。
%% xml_show(+Depth, +ElShow, +E)
%
% display xml tree indented
%
xml_show(Depth, ElShow, E) :-
format('~s~@~n', [Depth, (ground(ElShow) -> call(ElShow, E) ; xml_elshow(E) )]),
( E = element(_, _, Xs)
-> !, maplist(xml_show([0' |Depth], ElShow), Xs)
; true
).
:- meta_predicate xml_show(+, 1, +).
xml_elshow(E) :-
E = element(D, A, _)
-> write(D:A)
; write(E).