我在我的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>
答案 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。