xmlRoot: Get the top-level XML node.

Description Usage Arguments Value Note Author(s) References See Also Examples

View source: R/nodeAccessors.R

Description

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

1
2
3
4
5
6
7
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.

Author(s)

Duncan Temple Lang

References

http://www.w3.org/XML, http://www.jclark.com/xml, http://www.omegahat.net

See Also

xmlTreeParse [[.XMLNode

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  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))

Example output

<dataset name="mtcars" numRecords="32" source="R Project">
 <variables count="11">
  <variable unit="Miles/gallon">mpg</variable>
  <variable>cyl</variable>
  <variable>disp</variable>
  <variable>hp</variable>
  <variable>drat</variable>
  <variable>wt</variable>
  <variable>qsec</variable>
  <variable>vs</variable>
  <variable type="FactorVariable" levels="automatic,manual">am</variable>
  <variable>gear</variable>
  <variable>carb</variable>
 </variables>
 <record id="Mazda RX4">21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4</record>
 <record id="Mazda RX4 Wag">21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4</record>
 <record id="Datsun 710">22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1</record>
 <record id="Hornet 4 Drive">21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1</record>
 <record id="Hornet Sportabout">18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2</record>
 <record id="Valiant">18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1</record>
 <record id="Duster 360">14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4</record>
 <record id="Merc 240D">24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2</record>
 <record id="Merc 230">22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2</record>
 <record id="Merc 280">19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4</record>
 <record id="Merc 280C">17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4</record>
 <record id="Merc 450SE">16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3</record>
 <record id="Merc 450SL">17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3</record>
 <record id="Merc 450SLC">15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3</record>
 <record id="Cadillac Fleetwood">10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4</record>
 <record id="Lincoln Continental">10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4</record>
 <record id="Chrysler Imperial">14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4</record>
 <record id="Fiat 128">32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1</record>
 <record id="Honda Civic">30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2</record>
 <record id="Toyota Corolla">33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1</record>
 <record id="Toyota Corona">21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1</record>
 <record id="Dodge Challenger">15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2</record>
 <record id="AMC Javelin">15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2</record>
 <record id="Camaro Z28">13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4</record>
 <record id="Pontiac Firebird">19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2</record>
 <record id="Fiat X1-9">27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1</record>
 <record id="Porsche 914-2">26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2</record>
 <record id="Lotus Europa">30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2</record>
 <record id="Ford Pantera L">15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4</record>
 <record id="Ferrari Dino">19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6</record>
 <record id="Maserati Bora">15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8</record>
 <record id="Volvo 142E">21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2</record>
</dataset>

XML documentation built on July 16, 2018, 1:01 a.m.

Related to xmlRoot in XML...