[R] Convert data frame to XML-Tree

T.Wunder at stud.uni-heidelberg.de T.Wunder at stud.uni-heidelberg.de
Fri Feb 12 11:38:34 CET 2010


You were completely right with your guesses. I'm sorry, that I didn't  
told you all the details. Didn't think about that.
Thanks for your help, Tom


Quoting Dieter Menne <dieter.menne at menne-biomed.de>:

>
>
> T.Wunder wrote:
>>
>>>> Well, now I get a warning message like
>>>> "In xmlRoot.XMLInternalDocument(currentNodes[[1]]) : empty XML document"
>>>>
>>>> if I use this function. How could this be fixed?
>>>>
>>>>
>>>
>>> By telling use how you "used" that function.
>>
>> I'm sorry. I have a data frame df and typed
>>
>> convertToXML(df,"Tabelle")
>>
>>
>
> If you use that function, you first get an error message that XML is unknown
> because you did not tell us that you used library(XML). It's the best guess
> here, but in many cases there are several libraries (pardon, Martin,
> packages) that do the same.
>
> Then it tells us that df is unknown, because you did not tell us what the
> data frame was. It could be a problem in your df, for example some
> unexpected data.
>
> So let's try a self-contained example with the iris data set available in
> all installations. It shows that everything works Ok, with the exception of
> the warning. By converting it to an error, your can locate the warning at
> the line xmlTree.
>
> The warning can be simply reproduced by
> library(XML)
> xmlTree("Dummy")
>
> Dieter
>
>
> library(XML) # or did you use a different package?
> convertToXML <- function(df,name)
> {
>   xml <- xmlTree("Test")
>   xml$addNode(name, close=FALSE)
>   for (i in 1:nrow(df)) {
>        xml$addNode("value", close=FALSE)
>        for (j in names(df)) {
>            xml$addNode(j, df[i, j])
>        }
>    xml$closeTag()
> }
> xml$closeTag()
> return(xml)
> }
>
> data(iris) # these data are always there
> str(iris)
> tr = convertToXML(iris,"Tabelle")
> cat(saveXML(tr$value())) ## looks good
> options(warn=2) # to find where the warning occured
> cat(saveXML(tr$value())) ## looks good
> traceback()
>
> ## Looks like it is no problem of the function, because the following line
> # shows the same error
> xmlTree("Dummy")
> # Report it to Duncan
>
> R version 2.10.1 (2009-12-14)
> i386-pc-mingw32
>
> locale:
> [1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252
> [3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C
> [5] LC_TIME=German_Germany.1252
>
> attached base packages:
> [1] stats     graphics  grDevices datasets  utils     methods   base
>
> other attached packages:
> [1] XML_2.6-0
>
> loaded via a namespace (and not attached):
> [1] tools_2.10.1
>>
>
> --
> View this message in context:   
> http://n4.nabble.com/Convert-data-frame-to-XML-Tree-tp1478281p1478356.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>



More information about the R-help mailing list