3
我试图将XML解析为R数据帧。如何将复杂的XML解析为R中的长格式数据帧
xml.text <-
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recordGroup>
<period>60</period>
<record>
<dateTime>01102015000000</dateTime>
<field>
<id>Equipos.0CR02-1.AE</id>
<value>34.405000</value>
</field>
<field>
<id>Equipos.0CR02-1.API</id>
<value>160.794000</value>
</field>
</record>
<record>
<dateTime>01102015001500</dateTime>
<field>
<id>Equipos.0CR02-1.AE</id>
<value>38.309000</value>
</field>
<field>
<id>Equipos.0CR02-1.API</id>
<value>152.800000</value>
</field>
</record>
</recordGroup>'
library(XML)
xml <- xmlParse(xml.text)
indata <- xmlToDataFrame(getNodeSet(xml, "//recordGroup/record")[1])
我得到它只能用一条记录工作。结果是它创建了一个有两列的表格(dateTime和字段)并且只有一行。下面场标签之间的所有文字结合在一起:
dateTime field
1 01102015000000 Equipos.0CR02-1.AE34.405000\nEquipos.0CR02-1.API160.794000
由于日期时间是因为它是需要得到一个长格式表的结构,因为这两个领域的结构:
dateTime id value
1 01102015000000 Equipos.0CR02-1.AE 34.405000
2 01102015000000 Equipos.0CR02-1.API 160.794000
3 01102015001500 Equipos.0CR02-1.AE 38.309000
4 01102015001500 Equipos.0CR02-1.API 152.800000
...
感谢。它正在为一个记录集工作。但是对于更多设置xmlout只会给出一个结果。我正在编辑我的问题以添加一个记录集。 – juanmah
@ juanmah看到编辑,它现在应该工作 – jeremycg
是的,它的工作原理。非常感谢 – juanmah