2012-03-30 40 views
3

如果你把你的交叉引用電子郵件中的URL生成一個XML文件如何使用R A交叉引用提取XML數據?

"http://www.crossref.org/openurl?title=Science&aulast=Fernández&date=2009&multihit=true&pid=your.crossref.email" 

示例文件可以在這裏找到:

crossref.xml

我希望提取DOI清單(數字對象標識)到R中的數據幀中。 我希望使用通用的R xml包之一來做到這一點

library(XML) or library(tm) 

我試圖

doc<-xmlTreeParse(file) 
top<-xmlRoot(doc) 

但無法弄清楚如何從這裏

top[[1]]["doi"] 

去不起作用。

+0

感謝@G。 Grothendieck,一個工作職能現在可以在[crossref_get_doi](https://github.com/edielivon/Useful-R-functions/tree/master/Meta_analysis) – 2012-03-31 18:00:58

回答

2

試試這個:

library(XML) 
doc <- xmlTreeParse("crossref.xml", useInternalNodes = TRUE) 
root <- xmlRoot(doc) 
xpathSApply(root, "//x:doi", xmlValue, namespaces = "x") 
+0

看起來這麼簡單! – 2012-03-31 16:59:44

2

我和其他人作爲rOpenSci部分有一些功能擊中交叉引用API,職能交叉引用和crossref_r here

+0

Crossref函數現在在一個單獨的R軟件包中'rcrossref' https://github.com/ropensci/rcrossref/ – sckott 2015-08-07 17:59:37

0

我完全同樣缺乏理解。我花了一天半看,最後碰到這個帖子。

謝謝!