XML, que significa Extensible Markup Language, se compone de etiquetas de marcado, en las que cada etiqueta ilustra la información que lleva el atributo particular en el archivo XML. Podemos trabajar con los archivos XML utilizando el paquete XML proporcionado por R. El paquete debe instalarse explícitamente con el siguiente comando:
install.packages("XML")
Crear archivo XML
Los archivos XML se pueden crear guardando los datos con las etiquetas respectivas que contienen información sobre el contenido y guardándolos con ‘.xml’.
Usaremos el siguiente archivo XML ‘sample.xml’ para ver las diversas operaciones que se pueden realizar en el archivo:
HTML
<RECORDS> <STUDENT> <ID>1</ID> <NAME>Alia</NAME> <MARKS>620</MARKS> <BRANCH>IT</BRANCH> </STUDENT> <STUDENT> <ID>2</ID> <NAME>Brijesh</NAME> <MARKS>440</MARKS> <BRANCH>Commerce</BRANCH> </STUDENT> <STUDENT> <ID>3</ID> <NAME>Yash</NAME> <MARKS>600</MARKS> <BRANCH>Humanities</BRANCH> </STUDENT> <STUDENT> <ID>4</ID> <NAME>Mallika</NAME> <MARKS>660</MARKS> <BRANCH>IT</BRANCH> </STUDENT> <STUDENT> <ID>5</ID> <NAME>Zayn</NAME> <MARKS>560</MARKS> <BRANCH>IT</BRANCH> </STUDENT> </RECORDS>
Leer archivo XML
El archivo XML se puede leer después de instalar el paquete y luego analizarlo con la función xmlparse() , que toma como entrada el nombre del archivo XML e imprime el contenido del archivo en forma de lista. El archivo debe estar ubicado en el directorio de trabajo actual. También se debe instalar un paquete adicional llamado ‘métodos’. El siguiente código se puede utilizar para leer el contenido del archivo «sample.xml».
Python3
# loading the library and other important packages library("XML") library("methods") # the contents of sample.xml are parsed data <- xmlParse(file = "sample.xml") print(data)
Producción:
1 Alia 620 IT 2 Brijesh 440 Commerce 3 Yash 600 Humanities 4 Mallika 660 IT 5 Zayn 560 IT
Extraer información sobre el archivo XML
Los archivos XML se pueden analizar y las operaciones se pueden realizar en sus diversos componentes. Hay varias funciones integradas disponibles en R, para extraer la información de los Nodes asociados con el archivo, obteniendo la cantidad de Nodes en el archivo y también los atributos específicos de algún Node en particular en el archivo.
Python3
# loading the library and other important packages library("XML") library("methods") # the contents of sample.xml are parsed # Load the packages required to read XML files. library("XML") library("methods") # Give the input file name to the function. res <- xmlParse(file = "sample.xml") # Extract the root node. rootnode <- xmlRoot(res) # number of nodes in the root. nodes <- xmlSize(rootnode) # get entire contents of a record second_node <- rootnode[2] # get 3rd attribute of 4th record attri <- rootnode[[3]][[4]] cat('number of nodes: ', nodes) print ('details of 2 record: ') print (second_node) # prints the marks of the fourth record print ('3rd attribute of 4th record: ', attr)
Producción:
[1] number of nodes: 5 [2] details of 2 record: $STUDENT 2 Brijesh 440 Commerce [3] 3rd attribute of 4th record: 660
Conversión de XML a marco de datos
Para mejorar la legibilidad de los datos, los datos XML se pueden convertir en un marco de datos que consta de un marco de datos compuesto por filas y columnas. R contiene una función incorporada xmlToDataFrame() que contiene como entrada el archivo XML y genera los datos correspondientes en forma de marco de datos. Esto simula el fácil manejo y procesamiento de grandes cantidades de datos.
Python3
# Load the required packages. library("XML") library("methods") # Convert the input xml file to a data frame. dataframe <- xmlToDataFrame("sample.xml") print(dataframe)
Producción:
ID NAME MARKS BRANCH 1 1 Alia 620 IT 2 2 Brijesh 440 Commerce 3 3 Yash 600 Humanities 4 4 Mallika 660 IT 5 5 Zayn 560 IT
Publicación traducida automáticamente
Artículo escrito por yashchuahan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA