- Notifications
You must be signed in to change notification settings - Fork83
Bindings to libxml2
License
Unknown, MIT licenses found
Licenses found
r-lib/xml2
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The xml2 package is a binding tolibxml2, makingit easy to work with HTML and XML from R. The API is somewhat inspiredbyjQuery.
You can install xml2 from CRAN,
install.packages("xml2")
or you can install the development version from github, usingpak
:
# install.packages("pak")pak::pak("r-lib/xml2")
library(xml2)x<- read_xml("<foo> <bar> text <baz/> </bar> </foo>")xxml_name(x)xml_children(x)xml_text(x)xml_find_all(x,".//baz")h<- read_html("<html><p>Hi <b>!")hxml_name(h)xml_text(h)
There are three key classes:
xml_node
: a single node in a document.xml_doc
: the complete document. Acting on a document is usually thesame as acting on the root node of the document.xml_nodeset
: aset of nodes within the document. Operations onxml_nodeset
s are vectorised, apply the operation over each node inthe set.
xml2 has similar goals to the XML package. The main differences are:
xml2 takes care of memory management for you. It will automaticallyfree the memory used by an XML document as soon as the last referenceto it goes away.
xml2 has a very simple class hierarchy so you don’t need to thinkabout exactly what type of object you have, xml2 will just do theright thing.
More convenient handling of namespaces in Xpath expressions - see
xml_ns()
andxml_ns_strip()
to get started.
Please note that the xml2 project is released with aContributor Codeof Conduct. Bycontributing to this project, you agree to abide by its terms.
About
Bindings to libxml2