如何从data.frame R生成xml

时间:2013-04-18 15:20:23

标签: xml r dataframe

我想从R中的数据框生成一个xml文件。 这是一个例子:

data.frame

x y z
1 2 'bla'
3 4 'blou'
5 7 'bli'

Xml结果:

  <xml>
    <tuple x="1" y="2" z="bla" \>
    <tuple x="3" y="4" z="blou" \>
    <tuple x="5" y="7" z="bli" \>
 </xml>

2 个答案:

答案 0 :(得分:1)

也许这样的事情会有所帮助:

d <- data.frame(x=1:3, y=3:5, z=c("foo", "bar", "baz"))
cat(paste("<xml>", paste('<tuple x="', d$x, '" y="', d$y, '" z="', d$z, '" \\>"', sep="", collapse="\n"), "</xml>", sep="\n"), "\n")
## <xml>
## <tuple x="1" y="3" z="foo" \>"
## <tuple x="2" y="4" z="bar" \>"
## <tuple x="3" y="5" z="baz" \>"
## </xml> 

答案 1 :(得分:1)

以下是您使用XML

寻找的内容
dat <- data.frame(x=c(1,3,5), y=c(2,4,7), z=c("bla", "blou", "bli"))
dat$z <- as.character(dat$z)
library(XML)
top <- newXMLNode("xml")
newXMLNode("tuple", attrs = dat[1,], parent = top)
newXMLNode("tuple", attrs = dat[2,], parent = top)
newXMLNode("tuple", attrs = dat[3,], parent = top)
top

给出输出:

<xml>
 <tuple x="1" y="2" z="bla"/>
 <tuple x="3" y="4" z="blou"/>
 <tuple x="5" y="7" z="bli"/>
</xml>