【问题标题】:Extract xml data to data frame and parse out elements将xml数据提取到数据框并解析出元素
【发布时间】:2017-01-25 00:34:22
【问题描述】:

我正在尝试将我的 xml 数据转换为数据框,以便将其导出为 csv。 XML数据如下。当我使用代码 finalresults

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

【问题讨论】:

  • 您是从 Google 获取数据吗?
  • 我们有点需要原始 XML 数据来提供帮助。
  • this looks like 一个非常相似的问题
  • 原始数据由本贴中函数gmapsdistance的源码生成:stackoverflow.com/questions/41133859/r-code-gmapsdistance
  • 链接到其他帖子以获取您想用作问题的一部分的数据和代码通常不是一个好主意。每个问题都应该是独立的、可重复的,并显示您遇到的问题。

标签: r xml xml-parsing


【解决方案1】:

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

xmlToDataFrame(doc["//duration_in_traffic"])

您也许可以使用此获取所有行值

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多