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