相关疑难解决方法(0)

XML转换为JSON R.

R中的包似乎在将XML转换为JSON时无法正常工作.我已尝试使用'XML'包中的RJSONIO,rjson和jsonlite.我首先使用XML :: xmlToList()解析XML并将其转换为列表,然后使用这些3个包中的toJSON()将它们转换为JSON.

我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<votes>
  <row Id="1" PostId="1" VoteTypeId="2" CreationDate="2014-05-13T00:00:00.000" />
  <row Id="2" PostId="1" VoteTypeId="2" CreationDate="2014-05-13T00:00:00.000" />
  <row Id="3" PostId="3" VoteTypeId="2" CreationDate="2014-05-13T00:00:00.000" />
</votes>
Run Code Online (Sandbox Code Playgroud)

我的源代码:

library(XML)
library(RJSONIO)
library(rjson)
library(jsonlite)

xml_parse <- xmlTreeParse("~/Downloads/test.xml", useInternalNodes=TRUE)
xml_root <- xmlRoot(xml_parse)
xml_list <- xmlToList(xml_root, simplify = TRUE)

#jsonlite package
xml_jsonlite <- jsonlite::toJSON(xml_list)
write(xml_jsonlite, "test_jsonlite.json")

#RJSONIO package
xml_rjsonio <- RJSONIO::toJSON(xml_list)
write(xml_rjsonio, "test_rjsonio.json")

#rjson package
xml_rjson <- RJSONIO::toJSON(xml_list)
write(xml_rjson, "test_rjson.json")
Run Code Online (Sandbox Code Playgroud)

从RJSONIO转换的JSON文件:

{
"row": {
    "Id": "98",
    "PostId": "10",
    "VoteTypeId": "2",
    "CreationDate": "2014-05-14T00:00:00.000" 
 },
"row": …
Run Code Online (Sandbox Code Playgroud)

xml json r

2
推荐指数
1
解决办法
973
查看次数

标签 统计

json ×1

r ×1

xml ×1