-module(memes). -export([scan/0]). -include_lib("xmerl/include/xmerl.hrl"). memes_url() -> "http://planet.intertwingly.net/memes.atom". scan() -> application:start(inets), { ok, {_Status, _Headers, Body }} = http:request(memes_url()), { Xml, _Rest } = xmerl_scan:string(Body), format_entries(xmerl_xpath:string("//entry",Xml)), init:stop(). format_entries([]) -> done; format_entries([Node|Rest]) -> [ #xmlText{value=Title} ] = xmerl_xpath:string("title/text()", Node), [ #xmlAttribute{value=Link} ] = xmerl_xpath:string("link/@href", Node), Message = xmerl:export_simple_content([{a,[{href,Link}],[Title]}],xmerl_xml), io:format('~s~n', [xmerl_ucs:to_utf8(Message)]), format_entries(Rest).