XMLInternalDocument function

Class to represent reference to C-level data structure for an XML document

Class to represent reference to C-level data structure for an XML document

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

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)