将整列传递给xml

时间:2015-02-11 23:00:56

标签: xml r

我在我的c:\上本地存储了一个xml文件test.xml,它带有参数值student id,如下所示

.
.
.
<input-id>"student"
        3392966
        </input-id>

我在R中有一个数据框,其中包含一堆学生ID值

    3392966
    4064262
    7319370
    7115327
    . 
    .
    .

如何将存储在数据集中的整个Student Id值传递到test.xml文件的input-id句柄?

.
.
.
<input-id>"student"
        ....All student Id values from the StudentId column from dataframe Test
        </input-id>

1 个答案:

答案 0 :(得分:0)

这是一种方法:

library("XML")

# test data frame
Test <- data.frame( StudentId = c(100, 200, 300))

# parse XML
doc <- xmlParseDoc("test.xml")

# find first <input-id> element
ns <- getNodeSet(doc, "//input-id")[[1]]

# adding dataframe column StudentId as new sub-elements
kids <- lapply( Test$StudentId, function(x) newXMLNode("id", x) )

addChildren(ns, kids = kids, append = FALSE)

# save XML
saveXML(doc, file = "test2.xml")

在这种情况下,ID将是input-id元素的子元素。 如果要添加xml文本节点,请使用newXMLTextNode而不是newXMLNode。