XMLInternalDocument-class {XML} | R Documentation |
Class to represent reference to C-level data structure for an XML document
Description
This class is used to provide a handle/reference to a C-level
data structure that contains the information from parsing
parsing XML content.
This leaves the nodes in the DOM or tree as C-level nodes
rather than converting them to explicit R XMLNode
objects. One can then operate on this tree in much the same
way as one can the XMLNode
representations,
but we a) avoid copying the nodes to R, and b) can navigate
the tree both down and up using xmlParent
giving greater flexibility.
Most importantly, one can use an XMLInternalDocument
class object with an XPath expression to easily and relatively efficiently
find nodes within a document that satisfy some criterion.
See getNodeSet
.
Objects from the Class
Objects of this type are created via
xmlTreeParse
and htmlTreeParse
with the argument useInternalNodes
given as TRUE
.
Extends
Class oldClass
, directly.
Methods
There are methods to serialize (dump) a document to a file or as a string, and to coerce it to a node by finding the top-level node of the document. There are functions to search the document for nodes specified by an XPath expression.
References
XPath https://www.w3.org/TR/xpath/
See Also
xmlTreeParse
htmlTreeParse
getNodeSet
Examples
f = system.file("exampleData", "mtcars.xml", package="XML")
doc = xmlParse(f)
getNodeSet(doc, "//variables[@count]")
getNodeSet(doc, "//record")
getNodeSet(doc, "//record[@id='Mazda RX4']")
# free(doc)