Re: [R] Convert data frame to XML-Tree

2010-02-12 Thread T . Wunder
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 :




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@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.




__
R-help@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.


Re: [R] Convert data frame to XML-Tree

2010-02-12 Thread Dieter Menne


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@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.


Re: [R] Convert data frame to XML-Tree

2010-02-12 Thread T . Wunder

Hello,

Quoting Dieter Menne :




T.Wunder wrote:



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)
}

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")

and then the above message appeared.

Maybe there is another way of converting data frames? Or does a  
suitable method already exist?


Thanks, Tom

__
R-help@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.


Re: [R] Convert data frame to XML-Tree

2010-02-12 Thread Dieter Menne


T.Wunder wrote:
> 
> 
> 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)
> }
> 
> 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.

Dieter



-- 
View this message in context: 
http://n4.nabble.com/Convert-data-frame-to-XML-Tree-tp1478281p1478311.html
Sent from the R help mailing list archive at Nabble.com.

__
R-help@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.