2017-01-25 37 views
0

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

> 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" 
+0

您是否从Google获取数据? – SymbolixAU

+0

我们需要原始的XML数据来协助。 – hrbrmstr

+1

[这看起来像](http://stackoverflow.com/q/16863018/5977215)一个非常类似的问题 – SymbolixAU

回答

0

如果你只是想在duration_in_traffic节点(如果是只有一个级别),然后使用该节点设置为输入xmlToDataFrame

xmlToDataFrame(doc["//duration_in_traffic"]) 

您可能能够使用来获取所有行值此

rows <- lapply(doc['//row'], function(x) data.frame(xmlToList(x)))  
do.call("rbind", rows)