Just wanted to add my method:
set paski to do shell script “curl http://www.onthesnow.com/pennsylvania/snow.rss”
–>get all items
set paskiitems to my parsecode(paski, “”, “”)
–>build array of mountaind data
set regiondata to {}
repeat with x from 1 to count of every item of paskiitems
set thismountain to item x of paskiitems
set AppleScript’s text item delimiters to return
set astid to AppleScript’s text item delimiters
set mountainname to my cleantags(thismountain, “”, “”, astid)
set mountaindescription to my cleantags(thismountain, “”, “”, astid)
set mountainlink to my cleantags(thismountain, “<guid isPermaLink="true">”, “”, astid)
set mountainstatus to cleantags(thismountain, “ots:open_staus”, “</ots:open_staus>”, astid)
set mountaindepth to cleantags(thismountain, “ots:base_depth”, “</ots:base_depth>”, astid)
set mountain48sf to cleantags(thismountain, “ots:snowfall_48hr”, “</ots:snowfall_48hr>”, astid)
copy {mountainname, mountaindescription, mountainlink, mountainstatus, mountaindepth, mountain48sf} to end of regiondata
end repeat
return regiondata
on parsecode(code, opentag, closetag)
set itemlist to {}
set AppleScript’s text item delimiters to opentag
set taglist to every text item of code as list
set childtaglist to {}
repeat with x from 2 to count of every item of taglist
copy item x of taglist to end of childtaglist
end repeat
repeat with thisitem in childtaglist
set AppleScript's text item delimiters to closetag
copy text item 1 of thisitem to end of itemlist
set AppleScript's text item delimiters to opentag
end repeat
return itemlist
end parsecode
on cleantags(thisitem, opentag, closetag, astid)
try
set AppleScript’s text item delimiters to opentag
set rawitem to text item 2 of thisitem
set AppleScript’s text item delimiters to closetag
set cleanitem to text item 1 of rawitem
–>reset the delimiters
set AppleScript’s text item delimiters to astid
return cleanitem
on error errmsg
display dialog "Could not clean the " & opentag & return & return & errmsg
end try
end cleantags