This turns an XML document (or node or nodeset) into the equivalent R
list. Note that this is as_list(), not as.list():
lapply() automatically calls as.list() on its inputs, so
we can't override the default.
Usage
as_list(x, ns = character(), ...)
Arguments
x
A document, node, or node set.
ns
Optionally, a named vector giving prefix-url pairs, as produced
by xml_ns. If provided, all names will be explicitly
qualified with the ns prefix, i.e. if the element bar is defined
in namespace foo, it will be called foo:bar. (And
similarly for atttributes). Default namespaces must be given an explicit
name.
...
Needed for compatability with generic. Unused.
Details
as_list currently only handles the four most common types of
children that an element might have:
Other elements, converted to lists.
Attributes, stored as R attributes.
Text, stored as a character vector.
Examples
as_list(read_xml("<foo> a <b /><c><![CDATA[<d></d>]]></c></foo>"))
as_list(read_xml("<foo> <bar><baz /></bar> </foo>"))
as_list(read_xml("<foo id = 'a'></foo>"))
as_list(read_xml("<foo><bar id='a'/><bar id='b'/></foo>"))