当前位置:K88软件开发文章中心编程语言R语言R语言01 → 文章内容

R语言 XML文件

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-15 15:46:21

由 xiaoxiaogang 创建,youj 最后一次修改 2016-12-12 XML是一种文件格式,它使用标准ASCII文本共享万维网,内部网和其他地方的文件格式和数据。 它代表可扩展标记语言(XML)。 类似于HTML它包含标记标签。 但是与HTML中的标记标记描述页面的结构不同,在xml中,标记标记描述了包含在文件中的数据的含义。 您可以使用“XML”包读取R语言中的xml文件。 此软件包可以使用以下命令安装。 install.packages("XML")输入数据通过将以下数据复制到文本编辑器(如记事本)中来创建XMl文件。 使用.xml扩展名保存文件,并将文件类型选择为所有文件(*.*)。 <RECORDS> <EMPLOYEE> <ID>1</ID> <NAME>Rick</NAME> <SALARY>623.3</SALARY> <STARTDATE>1/1/2012</STARTDATE> <DEPT>IT</DEPT> </EMPLOYEE> <EMPLOYEE> <ID>2</ID> <NAME>Dan</NAME> <SALARY>515.2</SALARY> <STARTDATE>9/23/2013</STARTDATE> <DEPT>Operations</DEPT> </EMPLOYEE> <EMPLOYEE> <ID>3</ID> <NAME>Michelle</NAME> <SALARY>611</SALARY> <STARTDATE>11/15/2014</STARTDATE> <DEPT>IT</DEPT> </EMPLOYEE> <EMPLOYEE> <ID>4</ID> <NAME>Ryan</NAME> <SALARY>729</SALARY> <STARTDATE>5/11/2014</STARTDATE> <DEPT>HR</DEPT> </EMPLOYEE> <EMPLOYEE> <ID>5</ID> <NAME>Gary</NAME> <SALARY>843.25</SALARY> <STARTDATE>3/27/2015</STARTDATE> <DEPT>Finance</DEPT> </EMPLOYEE> <EMPLOYEE> <ID>6</ID> <NAME>Nina</NAME> <SALARY>578</SALARY> <STARTDATE>5/21/2013</STARTDATE> <DEPT>IT</DEPT> </EMPLOYEE> <EMPLOYEE> <ID>7</ID> <NAME>Simon</NAME> <SALARY>632.8</SALARY> <STARTDATE>7/30/2013</STARTDATE> <DEPT>Operations</DEPT> </EMPLOYEE> <EMPLOYEE> <ID>8</ID> <NAME>Guru</NAME> <SALARY>722.5</SALARY> <STARTDATE>6/17/2014</STARTDATE> <DEPT>Finance</DEPT> </EMPLOYEE></RECORDS>读取XML文件 xml文件由R语言使用函数xmlParse()读取。 它作为列表存储在R语言中。# Load the package required to read XML files.library("XML")# Also load the other required package.library("methods")# Give the input file name to the function.result <- xmlParse(file = "input.xml")# Print the result.print(result)当我们执行上面的代码,它产生以下结果 - 1 Rick 623.3 1/1/2012 IT 2 Dan 515.2 9/23/2013 Operations 3 Michelle 611 11/15/2014 IT 4 Ryan 729 5/11/2014 HR 5 Gary 843.25 3/27/2015 Finance 6 Nina 578 5/21/2013 IT 7 Simon 632.8 7/30/2013 Operations 8 Guru 722.5 6/17/2014 Finance获取XML文件中存在的节点数# Load the packages required to read XML files.library("XML")library("methods")# Give the input file name to the function.result <- xmlParse(file = "input.xml")# Exract the root node form the xml file.rootnode <- xmlRoot(result)# Find number of nodes in the root.rootsize <- xmlSize(rootnode)# Print the result.print(rootsize)当我们执行上面的代码,它产生以下结果 - output[1] 8第一个节点的详细信息让我们看看解析文件的第一条记录。 它将给我们一个关于存在于顶层节点中的各种元素的想法。 # Load the packages required to read XML files.library("XML")library("methods")# Give the input file name to the function.result <- xmlParse(file = "input.xml")# Exract the root node form the xml file.rootnode <- xmlRoot(result)# Print the result.print(rootnode[1])当我们执行上面的代码,它产生以下结果 - $EMPLOYEE 1 Rick 623.3 1/1/2012 IT attr(,"class")[1] "XMLInternalNodeList" "XMLNodeList" 获取节点的不同元素# Load the packages required to read XML files.library("XML")library("methods")# Give the input file name to the function.result <- xmlParse(file = "input.xml")# Exract the root node form the xml file.rootnode <- xmlRoot(result)# Get the first element of the first node.print(rootnode[[1]][[1]])# Get the fifth element of the first node.print(rootnode[[1]][[5]])# Get the second element of the third node.print(rootnode[[3]][[2]])当我们执行上面的代码,它产生以下结果 - 1 IT Michelle XML到数据帧为了在大文件中有效地处理数据,我们将xml文件中的数据作为数据框读取。 然后处理数据帧以进行数据分析。 # Load the packages required to read XML files.library("XML")library("methods")# Convert the input xml file to a data frame.xmldataframe <- xmlToDataFrame("input.xml")print(xmldataframe)当我们执行上面的代码,它产生以下结果 - ID NAME SALARY STARTDATE DEPT 1 1 Rick 623.30 2012-01-01 IT2 2 Dan 515.20 2013-09-23 Operations3 3 Michelle 611.00 2014-11-15 IT4 4 Ryan 729.00 2014-05-11 HR5 NA Gary 843.25 2015-03-27 Finance6 6 Nina 578.00 2013-05-21 IT7 7 Simon 632.80 2013-07-30 Operations8 8 Guru 722.50 2014-06-17 Finance由于数据现在可以作为数据帧,我们可以使用数据帧相关函数来读取和操作文件。

R语言 XML文件