Hi, You are very close and your understanding is correct - you need to extract the root node from the XMLDocument returned from xmlTreeParse.
library(XML) txt <- "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<observations realtime_start=\"2015-09-03\" realtime_end=\"2015-09-03\" observation_start=\"2015-09-01\" observation_end=\"2015-09-01\" units=\"lin\" output_type=\"1\" file_type=\"xml\" order_by=\"observation_date\" sort_order=\"asc\" count=\"1\" offset=\"0\" limit=\"100000\">\n <observation realtime_start=\"2015-09-03\" realtime_end=\"2015-09-03\" date=\"2015-09-01\" value=\"0.46\"/>\n</observations>\n\n\n\n" # parse the text tree and extract the root node obs <- xmlRoot(xmlTreeParse(txt, useInternalNodes = TRUE, asText = TRUE)) # get the first child node of 'observation' name. Yes, there is just one. obs1 <- obs['observation'][[1]] # it has no value, just attributes of which 'value' is one xmlAttrs(obs1)[['value']] Cheers, Ben On Sep 3, 2015, at 11:23 AM, Glenn Schultz <glennmschu...@me.com> wrote: > All, > > I have made it as far as generating an api call which returns the following > xml > [1] "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<observations > realtime_start=\"2015-09-03\" realtime_end=\"2015-09-03\" > observation_start=\"2015-09-01\" observation_end=\"2015-09-01\" units=\"lin\" > output_type=\"1\" file_type=\"xml\" order_by=\"observation_date\" > sort_order=\"asc\" count=\"1\" offset=\"0\" limit=\"100000\">\n <observation > realtime_start=\"2015-09-03\" realtime_end=\"2015-09-03\" date=\"2015-09-01\" > value=\"0.46\"/>\n</observations>\n\n\n\n" > attr(,"Content-Type") > charset > "text/xml" "UTF-8" > > following DTL's presentation on the Berkley site and the package help I > parsed the xml > > doc = xmlTreeParse(USSW10, asText = TRUE, useInternal = TRUE) > > which gives > <?xml version="1.0" encoding="utf-8"?> > <observations realtime_start="2015-09-03" realtime_end="2015-09-03" > observation_start="2015-09-01" observation_end="2015-09-01" units="lin" > output_type="1" file_type="xml" order_by="observation_date" sort_order="asc" > count="1" offset="0" limit="100000"> > <observation realtime_start="2015-09-03" realtime_end="2015-09-03" > date="2015-09-01" value="0.46"/> > </observations> > > finally I try to extract the value 0.46 using the xmlValue function. I have > lost something in translation and I am unable to extract the value. my > understanding is I have one node with no children, correct? > > -Glenn > > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. Ben Tupper Bigelow Laboratory for Ocean Sciences 60 Bigelow Drive, P.O. Box 380 East Boothbay, Maine 04544 http://www.bigelow.org ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.