首页 / XML / 使用R语言将XML转换为CSV
使用R语言将XML转换为CSV
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用R语言将XML转换为CSV,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2076字,纯文字阅读大概需要3分钟。
内容图文
这里使用的xml文件为CASOS提供的数据集company.xml
首先分析xml文件,截取一段xml代码
1 < DynamicNetwork > 2 < MetaNetwork > 3 < nodes > 4 < nodeclass type ="agent" id ="agent" > 5 < node id ="LDR" title ="Project Manager" /> 6 < node id ="Mgr1" title ="Art Director" /> 7 </ nodeclass > 8 < nodeclass type ="task" id ="task" > 9 < node id ="T1" title ="Project Management" /> 10 < node id ="T2" title ="Administration" /> 11 </ nodeclass > 12 </ nodes > 13 < networks > 14 < network sourceType ="agent" targetType ="agent" id ="agent x agent" > 15 < link source ="LDR" target ="Mgr1" type ="double" value ="1.0000" /> 16 < link source ="LDR" target ="Mgr2" type ="double" value ="1.0000" /> 17 </ network > 18 </ DynamicNetwork > 19 </ MetaNetwork >
可以看到,在根节点底下有nodes和network两大类,需要提取的是在nodes这个节点下id和title的属性值,network节点下source和target的值,确定需要用到的组成csv文件的属性后,开始对xml文件进行处理。
①首先在R中加载xml包,读取xml文件
# 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. xmlfile <- xmlParse(file="company.xml")
②找到根节点,确定所需要的属性值在哪个节点下
#找到根节点 xmltop = xmlRoot(xmlfile)
# 得到id=agent类的node目录 #xmltop[[1]][[1]][[1]] # 得到id=knowledge类的node目录 #xmltop[[1]][[1]][[2]] # 得到id=task类的node目录 #xmltop[[1]][[1]][[3]] #得到id=agent x agent类的network目录 #xmltop[[1]][[2]][[1]] #得到id=agent x knowledge类的network目录 #xmltop[[1]][[2]][[2]] #得到id=agent x task类的network目录 #xmltop[[1]][[2]][[3]]
③初始化一个向量,存储id的值,在最后将得到的几个向量组成一个数据框datafram对构造getNode函数,获得node的id属性值
由于没有找到R中相关的函数,所以自己写了一个repeat循环
getNodeId <- function(index){ #初始化向量nodes_id_temp,存储当前参数下获得的节点的id值 nodes_id_temp <- vector() #初始化i i<-1 #获得当前节点总数 n <- xmlSize(xmltop[[1]][[1]][[index]]) repeat{ temp=xmlGetAttr(xmltop[[1]][[1]][[index]][[i]],name="id") nodes_id_temp[i] <- temp #print(nodes_id_temp[i]) i<-i+1 if (i > n) break; } nodes_id <<- c(nodes_id,nodes_id_temp) }
原文:http://www.cnblogs.com/franose/p/6839505.html
内容总结
以上是互联网集市为您收集整理的使用R语言将XML转换为CSV全部内容,希望文章能够帮你解决使用R语言将XML转换为CSV所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。