xmlSerializeHook

0th

Percentile

Functions that help serialize and deserialize XML internal objects

These functions can be used to control how the C-level data structures associated with XML documents, nodes, XPath queries, etc. are serialized to a a file or connection and deserialized back into an R session. Since these C-level data structures are represented in R as external pointers, they would normally be serialized and deserialized in a way that loses all the information about the contents of the memory being referenced. xmlSerializeHook arranges to serialize these pointers by saving the corresponding XML content as a string and also the class of the object. The deserialize function converts such objects back to their original form.

These functions are used in calls to saveRDS and readRDS via the refhook argument. saveRDS(obj, filename, refhook = xmlSerializeHook) readRDS(filename, refhook = xmlDeserializeHook)

Keywords
IO
Usage
xmlSerializeHook(x)
xmlDeserializeHook(x)
Arguments
x

the object to be deserialized, and the character vector to be deserialized.

Value

xmlSerializeHook returns a character version of the XML document or node, along with the basic class. If it is called with an object that is not an native/internal XML object, it returns NULL

xmlDeserializeHook returns the parsed XML object, either a document or a node.

References

The R Internals Manual.

See Also

saveRDS and readRDS

Aliases
  • xmlSerializeHook
  • xmlDeserializeHook
Examples
# NOT RUN {
z = newXMLNode("foo")
f = system.file("exampleData", "tides.xml", package = "XML")
doc = xmlParse(f)
hdoc = as(doc, "XMLHashTree")

nodes = getNodeSet(doc, "//pred")

saveRDS(list(a = 1:10, z = z, doc = doc, hdoc = hdoc, nodes = nodes), "tmp.rda",
          refhook = xmlSerializeHook)

v = readRDS("tmp.rda", refhook = xmlDeserializeHook)
# }
Documentation reproduced from package XML, version 3.98-1.19, License: BSD_2_clause + file LICENSE

Community examples

Looks like there are no examples yet.