像HTML一样,XML也是一种标记语言,代表可扩展标记语言。它是由万维网联盟(W3C)开发的,用于定义对人类和机器均可读取的文档进行编码的语法。该文件包含标记标签。 HTML和XML之间有区别。在HTML中,标记标签描述页面的结构,在xml中,标记描述文件中包含的数据的含义。在R中,我们可以通过在R环境中安装" XML"包来读取xml文件。该软件包将在熟悉的命令(即install.packages)的帮助下安装。
install.packages("XML")
我们将在给定数据的帮助下创建一个xml文件。我们将使用.xml文件扩展名保存以下数据,以创建xml文件。 XML标签描述了数据的含义,因此包含在此类标签中的数据可以轻松地告诉或解释该数据。
示例:xml_data.xml
<records> <employee_info> <id>1</id> <name>Learnfk.com</name> <salary>623</salary> <date>1/1/2012</date> <dept>IT</dept> </employee_info> <employee_info> <id>2</id> <name>Chromefk.com</name> <salary>552</salary> <date>1/1/2012</date> <dept>IT</dept> </employee_info> <employee_info> <id>1</id> <name>Poemfk.com</name> <salary>669</salary> <date>1/1/2012</date> <dept>IT</dept> </employee_info> <employee_info> <id>1</id> <name>Nesfk.com</name> <salary>825</salary> <date>1/1/2012</date> <dept>IT</dept> </employee_info> <employee_info> <id>1</id> <name>Toolfk.com</name> <salary>762</salary> <date>1/1/2012</date> <dept>IT</dept> </employee_info> <employee_info> <id>1</id> <name>Vaishali</name> <salary>882</salary> <date>1/1/2012</date> <dept>IT</dept> </employee_info> <employee_info> <id>1</id> <name>Anisha</name> <salary>783</salary> <date>1/1/2012</date> <dept>IT</dept> </employee_info> <employee_info> <id>1</id> <name>Ginni</name> <salary>964</salary> <date>1/1/2012</date> <dept>IT</dept> </employee_info> </records>
在R中,我们可以借助xmlParse()函数轻松读取xml文件。该函数在列表中存储在R中。要使用此函数,我们首先需要在library()函数的帮助下加载xml包。除了xml包之外,我们还需要加载一个名为方法的附加包。
让我们看一个示例,以了解xmlParse()函数的工作原理,在该示例中,我们读取了xml_data.xml文件。
示例:以列表形式读取xml数据。
# 加载读取 XML 文件所需的包。 library("XML") # 还加载其他所需的包。 library("methods") # 为函数提供输入文件名。 result <- xmlParse(file = "xml_data.xml") xml_data <- xmlToList(result) print(xml_data)
输出
示例:获取xml文件中存在的节点数。
# 加载读取 XML 文件所需的包。 library("XML") # 还加载其他所需的包。 library("methods") # 为函数提供输入文件名。 result <- xmlParse(file = "xml_data.xml") #将数据转换为列表 xml_data <- xmlToList(result) #打印数据 print(xml_data) # 从 xml 文件中提取根节点。 root_node <- xmlRoot(result) # 查找根中的节点数。 root_size <- xmlSize(root_node) # 打印结果。 print(root_size)
输出
示例:获取xml中第一个节点的详细信息。
# 加载读取 XML 文件所需的包。 library("XML") # 还加载其他所需的包。 library("methods") # 为函数提供输入文件名。 result <- xmlParse(file = "xml_data.xml") #从 xml 文件中提取根节点。 root_node <- xmlRoot(result) # 打印结果。 print(root_node[1])
输出
示例:获取节点不同元素的详细信息。
# 加载读取 XML 文件所需的包。 library("XML") # 还加载其他所需的包。 library("methods") # 为函数提供输入文件名。 result <- xmlParse(file = "xml_data.xml") # 从 xml 文件中提取根节点。 root_node <- xmlRoot(result) # 获取第一个节点的第一个元素。 print(root_node[[1]][[1]]) # 获取第一个节点的第四个元素。 print(root_node[[1]][[4]]) # 获取第三个节点的第三个元素。 print(root_node[[3]][[3]])
输出
有效地处理大文件中的数据并不容易。为此,我们将xml文件中的数据作为数据框(data frame)读取。然后,该数据框由数据分析人员处理。 R提供xmlToDataFrame()函数以数据框的形式提取信息。
让我们看一个示例,以了解如何使用和处理此函数:
示例
# 加载读取 XML 文件所需的包。 library("XML") # 还加载其他所需的包。 library("methods") # 将输入文件名提供给函数 xmlToDataFrame。 data_frame <- xmlToDataFrame("xml_data.xml") #打印结果 print(data_frame)
输出
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕