Methods for displaying XML objects

These different methods attempt to provide a convenient way to display R objects representing XML elements when they are printed in the usual manner on the console, files, etc. via the print function. Each typically outputs its contents in the way that they would appear in an XML document.

file, IO
# S3 method for XMLNode
print(x, ..., indent= "", tagSeparator = "\n")
# S3 method for XMLComment
print(x, ..., indent = "", tagSeparator = "\n")
# S3 method for XMLTextNode
print(x, ..., indent = "", tagSeparator = "\n")
# S3 method for XMLCDataNode
print(x, ..., indent="", tagSeparator = "\n")
# S3 method for XMLProcessingInstruction
print(x, ..., indent="", tagSeparator = "\n")
# S3 method for XMLAttributeDef
print(x, ...)
# S3 method for XMLElementContent
print(x, ...)
# S3 method for XMLElementDef
print(x, ...)
# S3 method for XMLEntity
print(x, ...)
# S3 method for XMLEntityRef
print(x, ..., indent= "", tagSeparator = "\n")
# S3 method for XMLOrContent
print(x, ...)
# S3 method for XMLSequenceContent
print(x, ...)

the XML object to be displayed


additional arguments for controlling the output from print. Currently unused.


a prefix that is emitted before the node to indent it relative to its parent and child nodes. This is appended with a space at each succesive level of the tree. If no indentation is desired (e.g. when xmlTreeParse is called with trim and ignoreBlanks being FALSE) and TRUE respectively, one can pass the value FALSE for this indent argument.


when printing nodes, successive nodes and children are by default displayed on new lines for easier reading. One can specify a string for this argument to control how the elements are separated in the output. The primary purpose of this argument is to allow no space between the elements, i.e. a value of "".


Currently, NULL.


We could make the node classes self describing with information about whether ignoreBlanks was TRUE or FALSE and if trim was TRUE or FALSE. This could then be used to determine the appropriate values for indent and tagSeparator. Adding an S3 class element would allow this to be done without the addition of an excessive number of classes.


See Also


  • print.XMLAttributeDef
  • print.XMLCDataNode
  • print.XMLElementContent
  • print.XMLElementDef
  • print.XMLEntity
  • print.XMLEntityRef
  • print.XMLNode
  • print.XMLTextNode
  • print.XMLComment
  • print.XMLOrContent
  • print.XMLSequenceContent
  • print.XMLProcessingInstruction
  fileName <- system.file("exampleData", "event.xml", package ="XML")

     # Example of how to get faithful copy of the XML.
  doc = xmlRoot(xmlTreeParse(fileName, trim = FALSE, ignoreBlanks = FALSE))
  print(doc, indent = FALSE, tagSeparator = "")

     # And now the default mechanism
  doc = xmlRoot(xmlTreeParse(fileName))
# }
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.