将XML转换为数据帧,编辑,然后转换回R中的XML?

时间:2012-01-05 15:32:15

标签: xml r

我有一个XML文档,它有一个相当有序的结构,(虽然我没有像模式或DTD那样好的东西)。我希望通过其他人的输入来更改/添加/删除XML文件的元素。

为此,我想获取我的XML文件,将其转换为每个标记一行,每个属性一列的数据帧,然后编辑数据帧(或导出到csv,让别人编辑,然后重新输入) ,然后转换回XML。

目前,此代码执行第一部分将XML转换为dataframe

foo<-xmlParseDoc("example.xml")

bar<-xmlSApply(xmlRoot(foo), xmlAttrs, addNamespaceURLs=TRUE)

tempdf<-data.frame()
templist<-list()
n<-1

for(i in seq(length(bar))){
    message(i)
    if(!is.null(bar[[i]])){
        message(bar[[i]])
        tempdf<-rbind.fill(tempdf, data.frame(t(bar[[i]]), stringsAsFactors=FALSE))
        n<-n+1
    }
}

但我仍然坚持如何将此数据帧转换回XML等价物。有什么想法吗?

1 个答案:

答案 0 :(得分:-2)

xmlToDataFrame包怎么样?我认为它不仅可以将xml读取到帧中,还可以将帧写回XML文件。我自己从未使用过