【问题标题】:add child to xmlNode in R将子级添加到 R 中的 xmlNode
【发布时间】:2018-03-22 21:20:02
【问题描述】:

我正在尝试使用 R 中的 XML 包将孩子添加到孩子。 以下失败:

library(XML)
node1 <- c("val1","val2","val3")
names(node1) <- c("att1","att2","att3")
root <- xmlNode("root", attrs=node1)

node2 <- LETTERS[1:3]
names(node2) <- paste("name",1:3,sep="")

root <- addChildren(root,xmlNode("child1",attrs=node2))

node3 <- letters[1:3]
names(node3) <- paste("name",4:6,sep="")

root <- addChildren(root$child1,xmlNode("child2",attrs=node3))

UseMethod("addChildren") 中的错误: 'addChildren' 没有适用的方法应用于“NULL”类的对象

【问题讨论】:

    标签: r


    【解决方案1】:

    要调用父节点的子节点,需要使用[[]]。您可以按索引或名称调用子节点。所以将最后一行更改为任一

    root[["child1"]] <- addChildren(root[["child1"]],xmlNode("child2",attrs=node3))
    

    root[[1]] <- addChildren(root[[1]],xmlNode("child2",attrs=node3))
    

    结果

    <root att1="val1" att2="val2" att3="val3">
     <child1 name1="A" name2="B" name3="C">
      <child2 name4="a" name5="b" name6="c"/>
     </child1>
    </root>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 2020-03-21
      • 1970-01-01
      • 2014-07-09
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多