2012-03-30 10 views
3

あなたはCrossRefの中に入れた場合、電子メール、次のURLは、XMLファイルを生成しますRを使用してCrossRefからxmlデータを抽出するには?

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

サンプルファイルは、ここで提供されています:

crossref.xml

私はDOIのリスト(デジタルオブジェクトを抽出したいですRの中のdata.frameに特定します。 一般的なRxmlパッケージの1つを使用したいと思います。

library(XML) or library(tm) 

私は

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

を試してみましたが、動作しません。ここに

top[[1]]["doi"] 

から行く方法を見つけ出すことはできません。 、機能のcrossRef CROSSREFのAPIを打つため

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

@Gのおかげです。 Grothendieckは現在、[crossref_get_doi](https://github.com/edielivon/Useful-R-functions/tree/master/Meta_analysis)で利用可能です。 –

答えて

2

これを試してみてください。

+0

これはとても簡単なようです! –

2

私と他の人がrOpenSciの一環として、いくつかの機能を持っているとhereをcrossref_r:

+0

Crossref関数は別のRパッケージ 'rcrossref' https://github.com/ropensci/rcrossref/にあります。 – sckott

0

私はまったく同じ理解不足でした。私は1日半を見て、最終的にこの記事に出会った。

ありがとうございました!

関連する問題