我的xml文档看起来像这样
<contrib-group>
<contrib contrib-type="author" xlink:type="simple">
<string-name>
<given-names>Anagha K.</given-names>
<x xml:space="preserve"> </x>
<surname>Matapurkar</surname>
</string-name>
<x xml:space="preserve"/>
</contrib>
<contrib contrib-type="author" xlink:type="simple">
<string-name>
<given-names>Milind G.</given-names>
<x xml:space="preserve"> </x>
<surname>Watve</surname>
</string-name>
<x xml:space="preserve"/>
</contrib>
<aff id="aff_1">Life Research Foundation, 10 Pranav, 1000/6‐c, Navi Peth, Pune 411 030, India</aff>
<x xml:space="preserve"/>
</contrib-group>
我有多个xml文件,每个文件都具有相同的结构 而且我已经找到了让所有人循环运行代码的方法。
我想从每个文件中提取联盟信息
我已经在函数中用R编写了这样的xpath表达式 我使用ldply遍历所有文件
我使用的库是XML,plyr
doc <-xmlToDataFrame(nodes=getNodeSet(tempdoc,"//aff"))
其中tempdoc是已解析的xml文档
我收到列重复下标的错误。
xpath表达式是否错误,请帮忙?还是可以给我一些上述r代码行中xpath语法的更正?
答案 0 :(得分:0)
使用xml2
软件包:
library(xml2)
xml_as_list <- as_list(read_xml("theFile.xml"))
xml_as_list[["contrib-group"]][["aff"]][[1]]
给予:
"Life Research Foundation, 10 Pranav, 1000/6‐c, Navi Peth, Pune 411 030, India"