2012-10-04 47 views
1

我希望将EndNote生成的XML文件转换为R数据框。如何将EndNote XML文件转换为R数据框

我希望每个孩子最终节点(例如标题,作者...)是一列

一个例子的EndNote XML文件,这里可供选择:

Example on gist

我还没有使用库(XML)解决此问题。我希望有人有一个现成的解决方案,对不起,如果这听起来很懒。

+0

是否有任何方法将其保存为常规尾注.enl文件? –

+0

我认为pandoc可能具备这种能力。它可以将其转换为.bib文件,然后使用jabref将其导出为csv文件。 –

回答

4

我有一个类似的问题转换为数据框。我在子节点上使用了xmlToDataFrame

library(XML) 
library(RCurl) 
urldata<-"https://gist.github.com/raw/3831049/80f1315ba03d278b4f5f0d916fb1999709fc40e6/endnote.xml" 
urldata<-xmlParse(getURL(urldata,ssl.verifypeer = FALSE,.opts=curlOptions(followlocation=TRUE))) 
xmlToDataFrame(getNodeSet(urldata,'//*/record')) 

#    database source-app rec-number foreign-keys ref-type 
# 1 EndNote Ecology.enl EndNote  13264  13264  17 
# 2 EndNote Ecology.enl EndNote  13265  13265  17 
#  contributors         auth-address 
# 1 Chapman, A. G. Cent States Forest Expt Stn, Columbus, OH USA 
# 2 Strohecker, H. F.     Univ Chicago, Chicago, IL USA 
#                          titles 
# 1 An ecological basis for reforestation of submariginal lands in the Central Hardwood RegionEcologyEcology 
# 2           A survey of soil temperatures in the Chicago areaEcologyEcology 
#  periodical alt-periodical pages volume number dates  isbn 
# 1 EcologyEcology EcologyEcology 93-105  18  1 1937Jan 0012-9658 
# 2 EcologyEcology EcologyEcology 162-168  18  1 1937Jan 0012-9658 
#   accession-num           notes 
# 1 ISI:000200148800007 V02fg\rTimes Cited:5\rCited References Count:2 
# 2 ISI:000200148800014 V02fg\rTimes Cited:5\rCited References Count:14 
#       urls language 
# 1 <Go to ISI>://000200148800007 English 
# 2 <Go to ISI>://000200148800014 English 

可能有一些问题,有多个作者,如果使用一般这需要可能稍有变化(这里犯规发生)等。

+0

哇!虽然有人在那里会做腿部的工作!谢谢一堆! –