library(XML)

xml.url <- "http://www.w3schools.com/xml/plant_catalog.xml"

# 해당 xml은 아래와 같은 형태로 되어 있습니다.

# <CATALOG>
#   <PLANT>
#   <COMMON>Bloodroot</COMMON>
#   <BOTANICAL>Sanguinaria canadensis</BOTANICAL>
#   <ZONE>4</ZONE>
#   <LIGHT>Mostly Shady</LIGHT>
#   <PRICE>$2.44</PRICE>
#   <AVAILABILITY>031599</AVAILABILITY>
#   </PLANT>
#   <PLANT>
#   <COMMON>Columbine</COMMON>
#   <BOTANICAL>Aquilegia canadensis</BOTANICAL>
#   <ZONE>3</ZONE>
#   <LIGHT>Mostly Shady</LIGHT>
#   <PRICE>$9.37</PRICE>
#   <AVAILABILITY>030699</AVAILABILITY>
#   </PLANT>
#   <PLANT>
#   <COMMON>Marsh Marigold</COMMON>
#   <BOTANICAL>Caltha palustris</BOTANICAL>
#   <ZONE>4</ZONE>
#   <LIGHT>Mostly Sunny</LIGHT>
#   <PRICE>$6.81</PRICE>
#   <AVAILABILITY>051799</AVAILABILITY>
#   </PLANT>
#   <PLANT>
#   <COMMON>Cowslip</COMMON>
#   <BOTANICAL>Caltha palustris</BOTANICAL>
#   <ZONE>4</ZONE>
#   <LIGHT>Mostly Shady</LIGHT>
#   <PRICE>$9.90</PRICE>
#   <AVAILABILITY>030699</AVAILABILITY>
#   </PLANT>
#   <PLANT>
#   <COMMON>Dutchman's-Breeches</COMMON>
#   <BOTANICAL>Dicentra cucullaria</BOTANICAL>
#   <ZONE>3</ZONE>
#   <LIGHT>Mostly Shady</LIGHT>
#   <PRICE>$6.44</PRICE>
#   <AVAILABILITY>012099</AVAILABILITY>
#   </PLANT>
# </CATALOG>
tmp = xmlTreeParse(xml.url)
tmp_list = xmlToList(tmp)
tmp_df = as.data.frame(t(tmp_list), row.names = 1:length(tmp_list)) # data frame으로 변환
head(tmp_df)
##                COMMON              BOTANICAL ZONE        LIGHT PRICE
## 1           Bloodroot Sanguinaria canadensis    4 Mostly Shady $2.44
## 2           Columbine   Aquilegia canadensis    3 Mostly Shady $9.37
## 3      Marsh Marigold       Caltha palustris    4 Mostly Sunny $6.81
## 4             Cowslip       Caltha palustris    4 Mostly Shady $9.90
## 5 Dutchman's-Breeches    Dicentra cucullaria    3 Mostly Shady $6.44
## 6        Ginger, Wild       Asarum canadense    3 Mostly Shady $9.03
##   AVAILABILITY
## 1       031599
## 2       030699
## 3       051799
## 4       030699
## 5       012099
## 6       041899