You can extract the data using something along these lines
test <- '<asdf>
<dataset>
<px lon="-55.75" lat="-18.5">2.186213</px>
<px lon="-50.0" lat="-18.5">0.0</px>
<px lon="-66.75" lat="-03.0">1.68412</px>
</dataset>
</asdf>'
library(XML)
a3 <- xmlParse(test)
out <- xpathApply(a3, "//px", function(x){
coords <- xmlAttrs(x)
data.frame(precip = xmlValue(x), lon = coords[1], lat = coords[2], stringsAsFactors = FALSE)
})
> do.call(rbind.data.frame, out)
precip lon lat
lon 2.186213 -55.75 -18.5
lon1 0.0 -50.0 -18.5
lon2 1.68412 -66.75 -03.0