将xml数据提取到数据框并解析出元素

时间:2017-01-25 00:34:22

标签: r xml xml-parsing

我正在尝试将我的xml数据转换为数据框,以便将其导出为csv。 XML数据如下。当我使用代码finalresults< - xmlToDataFrame(results)时,所有数据都被放入元素列下的一个单元格中。有谁知道如何解析这些数据?我真正需要的是duration_in_traffic下的20495号码。谢谢!

> xmlChildren(results$row[[1L]])
$status
<status>OK</status> 

$duration
<duration>
  <value>20231</value>
  <text>5 hours 37 mins</text>
</duration> 

$distance
<distance>
  <value>459266</value>
  <text>459 km</text>
</distance> 

$duration_in_traffic
<duration_in_traffic>
  <value>20495</value>
  <text>5 hours 42 mins</text>
</duration_in_traffic> 

attr(,"class")
[1] "XMLInternalNodeList" "XMLNodeList" 

1 个答案:

答案 0 :(得分:0)

如果您只想要duration_in_traffic节点(如果只有一个级别),则使用该节点集作为xmlToDataFrame的输入

xmlToDataFrame(doc["//duration_in_traffic"])

您可以使用此

获取所有行值
rows <-  lapply( doc['//row'], function(x) data.frame(xmlToList(x) ))    
do.call("rbind", rows)