【问题标题】:xml data into nodeset, and two lists into tablexml 数据到节点集,两个列表到表中
【发布时间】:2013-11-26 04:44:35
【问题描述】:

我使用xmlParse 提取了 XML 数据。然后我使用getNodeSet 提取了一个如下所示的节点集:

<field dollars="false" unit="(deaths/1,000 live births)" rankorder="1" name="Infant mortality rate" id="f2091">
  <rank number="175.90" dateEstimated="true" dateLatest="2011-12-31" dateEarliest="2011-01-01" dateText="2011 est." country="ao"/>
  <rank number="149.20" dateEstimated="true" dateLatest="2011-12-31" dateEarliest="2011-01-01" dateText="2011 est." country="af"/>
  <rank number="112.22" dateEstimated="true" dateLatest="2011-12-31" dateEarliest="2011-01-01" dateText="2011 est." country="ng"/>
  <rank number="111.35" dateEstimated="true" dateLatest="2011-12-31" dateEarliest="2011-01-01" dateText="2011 est." country="ml"/>
  <rank number="105.56" dateEstimated="true" dateLatest="2011-12-31" 
</field>

接下来我使用xmlSApplyxmlGetAttr 命令(xmlSApply(nodeset1, xmlGetAttr, "number")) 将部分节点拉出到列表中。

$rank [1] "175.90"

$rank [1] "149.20"

$rank [1] "112.22"

$rank [1] "111.35"

我又换了一个词 (xmlSApply(nodeset1, xmlGetAttr, "country")) 来获得另一个列表:

$rank [1] "ao"

$rank [1] "af"

$rank [1] "ng"

$rank [1] "毫升"

现在我想制作一个表格来合并每个列表中的值。我似乎无法做到这一点。我认为问题在于每个项目列表都以$rank开头,但我不知道如何摆脱它。有什么建议吗?

【问题讨论】:

    标签: r xml list nodes


    【解决方案1】:

    如果你的节点集有一个类似表的结构,你最好的办法是使用 XML 包中的函数 xmlToDataFrame 将其转换为 data.frame。

    df

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-18
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多