[R] XML to data frame or list

Barry Rowlingson B.Rowlingson at lancaster.ac.uk
Fri Mar 11 16:06:18 CET 2005


Gabor Grothendieck wrote:

> 
> You could check out the ctv package that was recently announced.
> It uses XML so its source would provide an example.
> 
> If its a one-time operation, Excel reads XML and you could then
> use one of the many Excel to R possibilities.

  For an xml file like this:

<?xml version="1.0"?>
<variables>
<a>100</a>
<b>23</b>
<z>666</z>
</variables>

its a one-liner with the XML package (library(XML)):

xmlReadSimple <-
function(xmlFile){
   as.list(xmlSApply(xmlRoot(xmlTreeParse(xmlFile)),xmlValue))
}

add an lapply(...,as.numeric) for conversion to numbers.

  sweet.

Baz




More information about the R-help mailing list