在 R 编程中使用 XML 文件
XML是Extensible Markup Language的缩写,由标记标签组成,每个标签都说明了XML文件中特定属性所携带的信息。我们可以使用 R 提供的 XML 包来处理 XML 文件。必须使用以下命令显式安装该包:
install.packages("XML")
创建 XML 文件
可以通过使用包含有关内容的信息的相应标签保存数据并使用“.xml”保存数据来创建 XML 文件。
我们将使用以下 XML 文件“sample.xml”来查看可以对该文件执行的各种操作:
HTML
1
Alia
620
IT
2
Brijesh
440
Commerce
3
Yash
600
Humanities
4
Mallika
660
IT
5
Zayn
560
IT
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)
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)
Python3
# Load the required packages.
library("XML")
library("methods")
# Convert the input xml file to a data frame.
dataframe <- xmlToDataFrame("sample.xml")
print(dataframe)
读取 XML 文件
安装包后可以读取 XML 文件,然后使用xmlparse()函数对其进行解析,该函数将 XML 文件名作为输入,并以列表的形式打印文件内容。该文件应位于当前工作目录中。还应该安装一个名为“methods”的附加包。以下代码可用于读取文件“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)
输出:
1
Alia
620
IT
2
Brijesh
440
Commerce
3
Yash
600
Humanities
4
Mallika
660
IT
5
Zayn
560
IT
提取有关 XML 文件的信息
可以解析 XML 文件,并可以对其各种组件执行操作。 R中有各种内置函数,用于提取与文件关联的节点的信息,获取文件中的节点数,以及文件中某些特定节点的特定属性。
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)
输出:
[1] number of nodes: 5
[2] details of 2 record:
$STUDENT
2
Brijesh
440
Commerce
[3] 3rd attribute of 4th record: 660
将 XML 转换为数据框
为了增强数据的可读性,可以将XML数据转换为由行和列组成的数据框组成的数据框。 R 包含一个内置函数xmlToDataFrame(),它包含作为输入的 XML 文件并以数据框的形式输出相应的数据。这模拟了对大量数据的轻松处理和处理。
Python3
# Load the required packages.
library("XML")
library("methods")
# Convert the input xml file to a data frame.
dataframe <- xmlToDataFrame("sample.xml")
print(dataframe)
输出:
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