xmlAttrs.RdThis returns a named character vector giving the name-value pairs of attributes of an XMLNode object which is part of an XML document.
xmlAttrs(node, ...)
'xmlAttrs<-'(node, append = TRUE, suppressNamespaceWarning =
getOption("suppressXMLNamespaceWarning", FALSE), value)The XMLNode object
whose attributes are to be extracted.
a logical value indicating whether to add the attributes in value to the existing attributes
within the XML node, or to replace the set of any existing attributes with this new set, i.e. remove the existing ones and
then set the attributes with the contents of value.
additional arguments for the specific methods. For XML
internal nodes, these are addNamespacePrefix and
addNamespaceURLs. These are both logical values and indicate
whether to prepend the name of the attribute with the namespace
prefix and also whether to return the namespace prefix and URL as a
vector in the namespaces attribute.
a named character vector giving the new attributes to be added to the node.
see addChildren
A named character vector, where the names
are the attribute names and the
elements are the corresponding values.
This corresponds to the (attr<i>, "value<i>")
pairs in the XML tag
<tag attr1="value1" attr2="value2"
fileName <- system.file("exampleData", "mtcars.xml", package="XML")
doc <- xmlTreeParse(fileName)
xmlAttrs(xmlRoot(doc))
#> name numRecords source
#> "mtcars" "32" "R Project"
xmlAttrs(xmlRoot(doc)[["variables"]])
#> count
#> "11"
doc <- xmlParse(fileName)
d = xmlRoot(doc)
xmlAttrs(d)
#> name numRecords source
#> "mtcars" "32" "R Project"
xmlAttrs(d) <- c(name = "Motor Trend fuel consumption data",
author = "Motor Trends")
xmlAttrs(d)
#> name numRecords
#> "Motor Trend fuel consumption data" "32"
#> source author
#> "R Project" "Motor Trends"
# clear all the attributes and then set new ones.
removeAttributes(d)
#> <dataset>
#> <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>
xmlAttrs(d) <- c(name = "Motor Trend fuel consumption data",
author = "Motor Trends")
# Show how to get the attributes with and without the prefix and
# with and without the URLs for the namespaces.
doc = xmlParse('<doc xmlns:r="http://www.r-project.org">
<el r:width="10" width="72"/>
<el width="46"/>
</doc>')
xmlAttrs(xmlRoot(doc)[[1]], TRUE, TRUE)
#> r:width width
#> "10" "72"
#> attr(,"namespaces")
#> http://www.r-project.org
#> "r" ""
xmlAttrs(xmlRoot(doc)[[1]], FALSE, TRUE)
#> width width
#> "10" "72"
#> attr(,"namespaces")
#> http://www.r-project.org
#> "r" ""
xmlAttrs(xmlRoot(doc)[[1]], TRUE, FALSE)
#> r:width width
#> "10" "72"
#> attr(,"namespaces")
#> [1] "r" ""
xmlAttrs(xmlRoot(doc)[[1]], FALSE, FALSE)
#> width width
#> "10" "72"