xml_attr {xml2} | R Documentation |
xml_attrs()
retrieves all attributes values as a named character
vector, xml_attrs() <-
sets all attribute values. xml_attr()
retrieves the value of single attribute and xml_attr() <-
modifies
its value. If the attribute doesn't exist, it will return default
,
which defaults to NA
. xml_has_attr()
tests if an attribute is
present.
xml_attr(x, attr, ns = character(), default = NA_character_) xml_has_attr(x, attr, ns = character()) xml_attrs(x, ns = character()) xml_attr(x, attr, ns = character()) <- value xml_attrs(x, ns = character()) <- value
x |
A document, node, or node set. |
attr |
Name of attribute to extract. |
ns |
Optionally, a named vector giving prefix-url pairs, as produced
by |
default |
Default value to use when attribute is not present. |
value |
character vector of new value. |
xml_attr()
returns a character vector. NA
is used
to represent of attributes that aren't defined.
xml_has_attr()
returns a logical vector.
xml_attrs()
returns a named character vector if x
x is single
node, or a list of character vectors if given a nodeset
x <- read_xml("<root id='1'><child id ='a' /><child id='b' d='b'/></root>") xml_attr(x, "id") xml_attr(x, "apple") xml_attrs(x) kids <- xml_children(x) kids xml_attr(kids, "id") xml_has_attr(kids, "id") xml_attrs(kids) # Missing attributes give missing values xml_attr(xml_children(x), "d") xml_has_attr(xml_children(x), "d") # If the document has a namespace, use the ns argument and # qualified attribute names x <- read_xml(' <root xmlns:b="http://bar.com" xmlns:f="http://foo.com"> <doc b:id="b" f:id="f" id="" /> </root> ') doc <- xml_children(x)[[1]] ns <- xml_ns(x) xml_attrs(doc) xml_attrs(doc, ns) # If you don't supply a ns spec, you get the first matching attribute xml_attr(doc, "id") xml_attr(doc, "b:id", ns) xml_attr(doc, "id", ns)