我正在使用www.onetonline.org上的API数据。输出采用XML格式,但API不会生成离散的XML文件。这是一个示例呼叫/响应:
>
GET("http://services.onetcenter.org/ws/mnm/careers/17-2051.00/report",authenticate("[user]","[pass]"))
>
我希望能够将此响应解析为基于XML标记的表,但我似乎无法找到从此输出创建XML文件的方法(我会这样做)手动,但在未来我将需要此函数用于更多的API调用。如果我将此输出传递给对象(例如,
),对象类是Response [http://services.onetcenter.org/ws/mnm/careers/17-2051.00/report]
Status: 200
Content-type: application/vnd.org.onetcenter..srv.onet.services.ws.mnm.career.report+xml
<?xml version="1.0" encoding="utf-8"?>
<report code="17-2051.00">
<career>
<code>17-2051.00</code>
<title>Civil Engineers</title>
<tags bright_outlook="true" green="true" apprenticeship="false" />
<also_called>
<title>Civil Engineer</title>
<title>Engineer</title>
</career>
</report>
Response [http://services.onetcenter.org/ws/mnm/careers/17-2051.00/report]
,并且我&#39;我不确定如何处理。我不是R的新手,但我刚刚开始涉足http和API调用,所以R的这个方面对我来说是新的。另外,我道歉,如果这篇文章的格式不合适(代码范围似乎没有在预览中起作用)。
答案 0 :(得分:2)
无法测试,因为网址需要身份验证,但这是从http响应中提取内容的常用方法:
library("XML")
library("httr")
response <- GET(...)
xml <- xmlInternalTreeParse(content(response,type="text"))