R XML 文件

R XML 文件 首页 / R入门教程 / R XML 文件

HTML一样,XML也是一种标记语言,代表可扩展标记语言。它是由万维网联盟(W3C)开发的,用于定义对人类和机器均可读取的文档进行编码的语法。该文件包含标记标签。 HTML和XML之间有区别。在HTML中,标记标签描述页面的结构,在xml中,标记描述文件中包含的数据的含义。在R中,我们可以通过在R环境中安装" XML"包来读取xml文件。该软件包将在熟悉的命令(即install.packages)的帮助下安装。

install.packages("XML")
R XML File

创建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>

读取XML文件

在R中,我们可以借助xmlParse()函数轻松读取xml文件。该函数在列表中存储在R中。要使用此函数,我们首先需要在library()函数的帮助下加载xml包。除了xml包之外,我们还需要加载一个名为方法的附加包。

让我们看一个示例,以了解xmlParse()函数的工作原理,在该示例中,我们读取了xml_data.xml文件。

R XML File

示例:以列表形式读取xml数据。

# 加载读取 XML 文件所需的包。
library("XML")  
  
# 还加载其他所需的包。
library("methods")  
  
# 为函数提供输入文件名。
result <- xmlParse(file = "xml_data.xml")  
  
xml_data <- xmlToList(result)  
print(xml_data)  

输出

R XML File

示例:获取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)  

输出

R XML File

示例:获取xml中第一个节点的详细信息。

# 加载读取 XML 文件所需的包。
library("XML")  
  
# 还加载其他所需的包。
library("methods")  
  
# 为函数提供输入文件名。
result <- xmlParse(file = "xml_data.xml")  
  
#从 xml 文件中提取根节点。
root_node <- xmlRoot(result)  
  
# 打印结果。
print(root_node[1])  

输出

R XML File

示例:获取节点不同元素的详细信息。

# 加载读取 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]])  

输出

R XML File

XML转数据框

有效地处理大文件中的数据并不容易。为此,我们将xml文件中的数据作为数据框(data frame)读取。然后,该数据框由数据分析人员处理。 R提供xmlToDataFrame()函数以数据框的形式提取信息。

让我们看一个示例,以了解如何使用和处理此函数:

示例

# 加载读取 XML 文件所需的包。 
library("XML")  
  
# 还加载其他所需的包。
library("methods")  
  
# 将输入文件名提供给函数 xmlToDataFrame。
data_frame <- xmlToDataFrame("xml_data.xml")  
  
#打印结果
print(data_frame)  

输出

R XML File

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

MySQL实战45讲 -〔林晓斌〕

Web协议详解与抓包实战 -〔陶辉〕

Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕

DevOps实战笔记 -〔石雪峰〕

Web安全攻防实战 -〔王昊天〕

动态规划面试宝典 -〔卢誉声〕

Go 语言项目开发实战 -〔孔令飞〕

现代React Web开发实战 -〔宋一玮〕

结构思考力 · 透过结构看思考 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)