English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
XML signifie Langage de balisage extensible (eXtensible Markup Language), XML est conçu pour transférer et stocker des données.
Le langage R nécessite l'installation de l'extension XML pour lire et écrire des fichiers XML, nous pouvons entrer la commande suivante dans la console R pour installer :
install.packages("XML", repos = "https://mirrors.ustc.edu.cn/CRAN/)
Vérifier si l'installation a réussi :
> any(grepl("XML", installed.packages())) [1]] TRUE
Créer le fichier sites.xml, le fichier xml est dans le même répertoire que le script de test, le code suivant :
sites> <site> <id>1</id> <name>Google</name> <url>www.google.com</url> <likes>111</likes> </site> <site> <id>2</id> <name>w3codebox</name> <url>fr.oldtoolbag.com</url> <likes>222</likes> </site> <site> <id>3</id> <name>Taobao</name> <url>www.taobao.com</url> <likes>333</likes> </site> </sites>
Ensuite, nous pouvons utiliser le paquet XML pour charger les données du fichier xml :
# Load XML package library("XML") # Set file name result <- xmlParse(file = "sites.xml") # Sortir les résultats print(result)
Statistiques des données xml :
# Load XML package library("XML") # Set file name result <- xmlParse(file = "sites.xml") # Extraire le noeud racine rootnode <- xmlRoot(result) # Statistiques des quantités rootsize <- xmlSize(rootnode) # Sortir les résultats print(rootsize)
The output of the above code is:
[1]] 3
Voir les données du noeud, une ligne spécifique utilisant [], une ligne et une colonne spécifiques utilisant [[ ]] :
# Load XML package library("XML") # Set file name result <- xmlParse(file = "sites.xml") # Extraire le noeud racine rootnode <- xmlRoot(result) # Voir le 2 données des noeuds print(rootnode[2)] # Voir le 2 du noeud 1 données print(rootnode[[2]][[1]]) # Voir le 2 du noeud 3 données print(rootnode[[2]][[3]])
The output of the above code is:
$site <site> <id>2</id> <name>w3codebox</name> <url>fr.oldtoolbag.com</url> <likes>222</likes> </site> attr(,"class") [1]] "XMLInternalNodeList" "XMLNodeList" <id>2</id> <url>fr.oldtoolbag.com</url>
The above code outputs xml format, and we use the xmlToList() function to convert the file data to a list format, which is easier to read:
# Load XML package library("XML") # Set file name result <- xmlParse(file = "sites.xml") # Convert to list xml_data <- xmlToList(result) print(xml_data) print("============================") # Output the second column of the first row print(xml_data[[1]][[2]])
The output of the above code is:
$site $site$id [1] "1" $site$name [1] "Google" $site$url [1] "www.google.com" $site$likes [1] "111" $site $site$id [1] "2" $site$name [1] "w3codebox" $site$url [1] "fr.oldtoolbag.com" $site$likes [1] "222" $site $site$id [1] "3" $site$name [1] "Taobao" $site$url [1] "www.taobao.com" $site$likes [1] "333" [1] "============================" [1] "Google"
XML file data can be converted to a data frame type, which makes it easier to operate on the data:
# Load XML package library("XML") # xml file data to data frame xmldataframe <- xmlToDataFrame("sites.xml") print(xmldataframe)
The output of the above code is:
id name url likes 1 1 Google www.google.com 111 2 2 w3codebox fr.oldtoolbag.com 222 3 3 Taobao www.taobao.com 333