У меня есть простой data.frame с двумя переменными, title и base64. Мне нужно преобразовать этот файл data.frame в формат XML. Например Вот что мои данные выглядит ..Как преобразовать data.frame в xml-файл с R?
str(df)
'data.frame': 2 obs. of 2 variables:
$ title : chr "Page One" "Page Two"
$ base64: chr "Very Long String thats a base64 character" "Very Long String thats a base64 character"
dput (ДФ) структура (список (страница = с ("Page One", "Page Два"), base64 = с ("Very Long String thats base64 character ", " Very Long String - это символ base64 ")) .Names = c (" page ", " base64 "), row.names = 1: 2, class =" data.frame ")
Мне нужно выводить XML-файл, который имеет формат, который выглядит следующим образом ...
<report type="enchanced">
<pages>
<page>
<title>Page One</title>
<page> *** long base64 string *** </page>
</page>
<page>
<title>Page Two</title>
<page> *** long base64 string *** </page>
</page>
</pages>
</report>
Я экспериментировал с пакетом XML в R и даже нашел эту функцию, которая кажется, что она должна работать, но я не могу понять это. Любая помощь приветствуется.
library(XML)
convertToXML <- function(df,name) {
xml <- xmlTree("report")
xml$addNode(name, close=FALSE)
for (i in 1:nrow(df)) {
xml$addNode("page", close=FALSE)
for (j in names(df)) {
xml$addNode(j, df[i, j])
}
xml$closeTag()
}
xml$closeTag()
return(xml)
}
tr = convertToXML(df,"pages")
cat(saveXML(tr$page())) ## suppose to looks good
Когда я запускаю этот код я получить только " XML версия =" 1.0 "?>" ??? – Nodedeveloper101
Странно. Мой 'packageVersion (" XML ")' is '3.98.1.3' - работает здесь. – lukeA
Я перезапустил R, и это сработало, спасибо – Nodedeveloper101