使用R代码进行XML解析

问题描述:

我正尝试从xml文件创建数据框。我想要的数据帧的样子:使用R代码进行XML解析

ID TagName Count 
1  bob  12 
2  Sue  52 
3  carl  15 

这是到目前为止我的代码:

doc<-xmlTreeParse("data.xml", useInternal = TRUE) 

rootNode<-xmlRoot(doc) 

文件看起来像(我不能使用某种原因箭头):

<tag> 

    <row Id = "1" TagName= "bob" Count = "12" /> 

    <row Id = "2" TagName= "Sue" Count = "52" /> 

    <row Id = "3" TagName= "carl" Count= "15" /> 

任何帮助将不胜感激。

+1

您是否尝试过'xmlToList'? http://*.com/questions/17198658/how-to-parse-xml-to-r-data-frame –

+0

是的,我做了,但我想我不擅长从列表中拉出项目。所以困难在于我从创建的列表中提取。 –

试试这个:

library(XML) 
xml <- '<tag> 
<row Id = "1" TagName= "bob" Count = "12" /> 
<row Id = "2" TagName= "Sue" Count = "52" /> 
<row Id = "3" TagName= "carl" Count= "15" /> 
</tag>' 
as.data.frame(t(xpathSApply(xmlParse(xml), '/tag/*', xmlAttrs))) 
# Id TagName Count 
# 1 1  bob 12 
# 2 2  Sue 52 
# 3 3 carl 15 
+0

当我尝试这样我得到:as.vector(x,“字符”)中的错误: 无法强制类型'字符'的向量类型'externalptr' –