xmlRoot {XML} | R Documentation

## Get the top-level XML node.

### Description

These are a collection of methods for providing easy access to the top-level `XMLNode` object resulting from parsing an XML document. They simplify accessing this node in the presence of auxillary information such as DTDs, file name and version information that is returned as part of the parsing.

### Usage

    xmlRoot(x, skip = TRUE, ...)
    ## S3 method for class 'XMLDocumentContent'
    xmlRoot(x, skip = TRUE, ...)
    ## S3 method for class 'XMLInternalDocument'
    xmlRoot(x, skip = TRUE, addFinalizer = NA, ...)
    ## S3 method for class 'HTMLDocument'
    xmlRoot(x, skip = TRUE, ...)

### Arguments

`x` | the object whose root/top-level XML node is to be returned.
`skip` | a logical value that controls whether DTD nodes and/or XMLComment objects that appear before the “real” top-level node of the document should be ignored (`TRUE`) or not (`FALSE`) when returning the root node.
`...` | arguments that are passed by the generic to the different specialized methods of this generic.
`addFinalizer` | a logical value or identifier for a C routine that controls whether we register finalizers on the intenal node.

### Value

An object of class `XMLNode`.

### Note

One cannot obtain the parent or top-level node of an XMLNode object in S. This is different from languages like C, Java, Perl, etc. and is primarily because S does not provide support for references.

### Author(s)

Duncan Temple Lang

### References

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

### See Also

`xmlTreeParse` `[[.XMLNode`

### Examples

      doc <- xmlTreeParse(system.file("exampleData", "mtcars.xml", package="XML"))
      xmlRoot(doc)
       # Note that we cannot use getSibling () on a regular R-level XMLNode object
       # since we cannot go back up or across the tree from that node, but
       # only down to the children.

        # Using an internal node via xmlParse (== xmlInternalTreeParse())
      doc <- xmlParse(system.file("exampleData", "mtcars.xml", package="XML"))
      n = xmlRoot(doc, skip = FALSE)
         # skip over the DTD and the comment
      d = getSibling(getSibling(n))

[Package XML version 3.98-1.4 Index]