我尝试将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和field)且仅有一行的表格。在field标签之间的所有文本都被合并在一起:
dateTime field
1 01102015000000 Equipos.0CR02-1.AE34.405000\nEquipos.0CR02-1.API160.794000
由于dateTime适用于两个字段结构,因此需要获取长格式表结构,如下所示:
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
...