将SDMX数据导入R时出错

时间:2015-07-13 23:46:57

标签: r xml sdmx

当我尝试导入OECD数据时会出现问题。例如,如果我尝试以下代码:

library(rsdmx)
data.url <- "http://stats.oecd.org/restsdmx/sdmx.ashx/GetData/QNA/AUS.B1_GE+P3+P31S14_S15+P3S13+P5+P51+P52_P53+P52+P53+B11+P6+P61+P62+P7+P71+P72+RB1_GE+PPPGDP+P41+P3_P51+P3_P5.CQRSA.Q/all?startTime=2011-Q1&endTime=2015-Q2"
my.sdmx <- readSDMX(data.url)

我收到以下错误

<XMLInputError: XML content does not seem to be XML: '<message:MessageGroup xmlns="http://www.SDMX.org/resources/SDMXML/schemas/v2_0/generic"  ...

然而,这似乎只发生在经合组织的数据上。如果我用

替换上面的data.url
data.url <- "http://data.fao.org/sdmx/repository/data/CROP_PRODUCTION/.156.5312../FAO?startPeriod=2008&endPeriod=2008"

然后代码运行顺利。如果我下载XML文件并使用readSDMX('file.xml', isURL=FALSE)解析它也可以。

我想知道这是否与解析OECD XML时出现的''字符有关,以及是否有办法解决这个问题。

1 个答案:

答案 0 :(得分:0)

经合组织门户网站最近出现了一些变化。其中之一是Web请求未返回有效的Current Node: 0 [<__main__.node object at 0x100786dd8>] 0 0 响应。您提到的少数字符对应于字节顺序标记(BOM)。最近在rsdmx中添加了一个控件来正确管理此类BOM,这一变化也反映在CRAN中。升级到rsdmx 0.4-7将解决您的问题。