我正在尝试使用 xml2 使用新节点更新 xml 文件。如果我只是将所有内容手动编写为文本,这很容易,
oldXML <- read_xml("<Root><Trial><Number>3.14159 </Number><Adjective>Fast </Adjective></Trial></Root>")
但我正在开发一个将运行计算然后将这些值放入 xml 的应用程序,所以我需要混合字符和变量。它最终看起来像:
var1 <- 4.567
var2 <- "Slow"
newLine <- read_xml(paste0("<Trial><Number>",var1," </Number><Adjective>",var2," </Adjective></Trial>"))
xml_add_child(oldXML,newLine)
我怀疑有一种比使用 paste0 更简单的方法来做到这一点,但我无法得到任何其他工作。我希望能够通过引用数据框来指示它更新 xml,以便它可以创建新的试验:
<Trial>
<Number>df$number[1]</Number>
<Adjective>df$adjective[1]</Adjective>
</Trial>
<Trial>
<Number>df$number[2]</Number>
<Adjective>df$adjective[2]</Adjective>
</Trial>
有没有办法以大约这种方式创建新的 Trial 节点,或者至少比使用 paste0 插入变量更自然?这是 XML 包比 xml2 做得更好的东西吗?