On Tue, Jan 22, 2013 at 3:11 PM, Adam Gabbert <adamjgabb...@gmail.com> wrote:
> Hello,
>
> I'm attempting to read information from an XML into a data frame in R using
> the "XML" package. I am unable to get the data into a data frame as I would
> like.  I have some sample code below.
>
> *XML Code:*
>
> Header...
>
> Data I want in a data frame:
>
>    <data>
>   <row BRAND="GMC" NUM="1" YEAR="1999" VALUE="10000" />
>   <row BRAND="FORD" NUM="1" YEAR="2000" VALUE="12000" />
>   <row BRAND="GMC" NUM="1" YEAR="2001" VALUE="12500" />
>   <row BRAND="FORD" NUM="1" YEAR="2002" VALUE="13000" />
>   <row BRAND="GMC" NUM="1" YEAR="2003" VALUE="14000" />
>   <row BRAND="FORD" NUM="1" YEAR="2004" VALUE="17000" />
>   <row BRAND="GMC" NUM="1" YEAR="2005" VALUE="15000" />
>   <row BRAND="GMC" NUM="1" YEAR="1967" VALUE="PRICLESS" />
>   <row BRAND="FORD" NUM="1" YEAR="2007" VALUE="17500" />
>   <row BRAND="GMC" NUM="1" YEAR="2008" VALUE="22000" />
>   </data>
>
> *R Code:*
>
> doc< -xmlInternalTreeParse ("Sample2.xml")
> top <- xmlRoot (doc)
> xmlName (top)
> names (top)
> art <- top [["row"]]
> art
> **

This will get a data frame of character columns

> as.data.frame(t(xpathSApply(doc, "//row", xmlAttrs)), stringsAsFactors = 
> FALSE)
   BRAND NUM YEAR    VALUE
1    GMC   1 1999    10000
2   FORD   1 2000    12000
3    GMC   1 2001    12500
4   FORD   1 2002    13000
5    GMC   1 2003    14000
6   FORD   1 2004    17000
7    GMC   1 2005    15000
8    GMC   1 1967 PRICLESS
9   FORD   1 2007    17500
10   GMC   1 2008    22000


--
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to