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.
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))