; URLGET RSS FEED -> BINVAR [x]
; BINVAR -> COM XML (MSXML) [x]
; COM XML -> PARSE DATA [ΒΌ]
; PARSE DATA -> NEWSTICKER WINDOW [ ]
; IXMLDOMElement Members
; https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms757048(v=vs.85)
alias _rssfin {
if (($1 isnum) && ($urlget($1).state == ok)) {
if ($com(a)) .comclose a
.comopen a MSXML2.DOMDocument.6.0
if ($comerr) goto :error
echo -ag Load into XML (slurp): $com(a,LoadXML,3,&bstr, &slurp) - $com(a).result
if ($com(b)) .comclose b
echo -ag selectNodes: $com(a,selectNodes,3,bstr,//item,dispatch* b)
if ($comerr) goto :error
var %n $comval(b,0,selectNodes), %i 1
while (%i <= %n) {
echo -ag $comval(b,%i,xml)
;parse data
inc %i
}
:error
if ($com(a)) .comclose a
if ($com(b)) .comclose b
}
}
; https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url
alias _rssget {
var %pattern https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
if (!$regex($1,%pattern)) echo 4 Invalid URL
else noop $urlget($1-,gb,&slurp,_rssfin)
}