xmlParseDoc.RdThis function is a generalization of xmlParse
that parses an XML document. With this function, we can specify
a combination of different options that control the operation of the
parser. The options control many different aspects the parsing process
xmlParseDoc(file, options = 1L, encoding = character(),
asText = !file.exists(file), baseURL = file)the name of the file or URL or the XML content itself
options controlling the behavior of the parser.
One specifies the different options as elements of an integer
vector. These are then bitwised OR'ed together. The possible options are
RECOVER, NOENT, DTDLOAD,
DTDATTR, DTDVALID, NOERROR, NOWARNING,
PEDANTIC, NOBLANKS, SAX1, XINCLUDE,
NONET, NODICT, NSCLEAN, NOCDATA,
NOXINNODE, COMPACT, OLD10, NOBASEFIX,
HUGE, OLDSAX.
( These options are also listed in the (non-exported) variable
parserOptions.)
character string that provides the encoding of the document if it is not explicitly contained within the document itself.
a logical value indicating whether file is the
XML content (TRUE) or the name of a file or URL (FALSE)
the base URL used for resolving relative documents,
e.g. XIncludes. This is important if file is the actual XML
content rather than a URL
An object of class XMLInternalDocument.
libxml2
f = system.file("exampleData", "mtcars.xml", package="XML")
# Same as xmlParse()
xmlParseDoc(f)
#> <?xml version="1.0"?>
#> <!DOCTYPE dataset SYSTEM "../DatasetByRecord.dtd">
#> <!-- Taken from the R distribution, in turn taken from Henderson and Velleman 1981,
#> Building multiple regression models interactively, Biometrics 37 391-411 .
#> -->
#> <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>
#>
txt =
'<top xmlns:r="http://www.r-project.org">
<b xmlns:r="http://www.r-project.org">
<c xmlns:omg="http:/www.omegahat.net"/>
</b>
</top>'
xmlParseDoc(txt, NSCLEAN, asText = TRUE)
#> <?xml version="1.0"?>
#> <top xmlns:r="http://www.r-project.org">
#> <b>
#> <c xmlns:omg="http:/www.omegahat.net"/>
#> </b>
#> </top>
#>
txt =
'<top xmlns:r="http://www.r-project.org" xmlns:r="http://www.r-project.org">
<b xmlns:r="http://www.r-project.org">
<c xmlns:omg="http:/www.omegahat.net"/>
</b>
</top>'
xmlParseDoc(txt, c(NSCLEAN, NOERROR), asText = TRUE)
#> Error in xmlParseDoc(txt, c(NSCLEAN, NOERROR), asText = TRUE): Attribute xmlns:r redefined [42]