append.xmlNode {XML} | R Documentation

## Add children to an XML node

### Description

This appends one or more XML nodes as children of an existing node.

### Usage

    append.XMLNode(to, ...)
    append.xmlNode(to, ...)

### Arguments

`to` | the XML node to which the sub-nodes are to be added.
`...` | the sub-nodes which are to be added to the `to` node. If this is a `list` of `XMLNode` objects (e.g. create by a call to `lapply`), then that list is used.

### Value

The original `to` node containing its new children nodes.

### Author(s)

Duncan Temple Lang

### References

http://www.w3.org/XML, http://www.jclark.com/xml, http://www.omegahat.org

### See Also

`[<-.XMLNode` `[[<-.XMLNode` `[.XMLNode` `[[.XMLNode`

### Examples

      # Create a very simple representation of a simple dataset.
      # This is just an example. The result is
       # <data numVars="2" numRecords="3">
       # <varNames>
       #  <string>
       #   A
       #  </string>
       #  <string>
       #   B
       #  </string>
       # </varNames>
       # <record>
       #  1.2 3.5
       # </record>
       # <record>
       #  20.2 13.9
       # </record>
       # <record>
       #  10.1 5.67
       # </record>
       # </data>

     n = xmlNode("data", attrs = c("numVars" = 2, numRecords = 3))
     n = append.xmlNode(n, xmlNode("varNames", xmlNode("string", "A"), xmlNode("string", "B")))
     n = append.xmlNode(n, xmlNode("record", "1.2 3.5"))
     n = append.xmlNode(n, xmlNode("record", "20.2 13.9"))
     n = append.xmlNode(n, xmlNode("record", "10.1 5.67"))

     print(n)

    ## Not run:
       tmp <-  lapply(references, function(i) {
                                      if(!inherits(i, "XMLNode"))
                                        i <- xmlNode("reference", i)
                                      i
                                  })

       r <- xmlNode("references")
       r[["references"]] <- append.xmlNode(r[["references"]], tmp)
    ## End(Not run)

[Package XML version 2.5-1 Index]