Skip to content
/ selectr Public

❗ This is a read-only mirror of the CRAN R package repository. selectr — Translate CSS Selectors to XPath Expressions. Homepage: https://sjp.co.nz/projects/selectr/ Report bugs for this package: https://github.com/sjp/selectr/issues

License

Notifications You must be signed in to change notification settings

cran/selectr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

selectr

License (3-Clause BSD) GitHub Actions CRAN version codecov Downloads per month

selectr is a package which makes working with HTML and XML documents easier. It does this by performing translation of CSS selectors into XPath expressions so that you can query XML and xml2 documents easily.

library(selectr)
xpath <- css_to_xpath("#selectr")
xpath
#> [1] "descendant-or-self::*[@id = 'selectr']"

Installation

Install the release version from CRAN

install.packages("selectr")

Install the development version from GitHub

# install.packages("devtools")
devtools::install_github("sjp/selectr")

Overview

The key functions in selectr are:

  • Translate a CSS selector into an XPath expression with css_to_xpath().

  • Query an XML or xml2 document with querySelector() and its variants.

    • Find the first matching node with querySelector().

    • Find all matching nodes with querySelectorAll().

    • Find the first matching node in a namespaced document with querySelectorNS().

    • Find all matching nodes in a namespaced document with querySelectorAllNS().

Examples

Here is a simple example to demonstrate how to query an XML or xml2 document with querySelector().

library(selectr)
xmlText <- '<foo><bar><baz id="first"/></bar><baz id="second"/></foo>'

library(XML)
doc <- xmlParse(xmlText)
querySelector(doc, "baz")
#> <baz id="first"/>
querySelectorAll(doc, "baz")
#> [[1]]
#> <baz id="first"/>
#>
#> [[2]]
#> <baz id="second"/>
#>
#> attr(,"class")
#> [1] "XMLNodeSet"

library(xml2)
doc <- read_xml(xmlText)
querySelector(doc, "baz")
#> {xml_node}
#> <baz id="first">
querySelectorAll(doc, "baz")
#> {xml_nodeset (2)}
#> [1] <baz id="first"/>
#> [2] <baz id="second"/>

About

❗ This is a read-only mirror of the CRAN R package repository. selectr — Translate CSS Selectors to XPath Expressions. Homepage: https://sjp.co.nz/projects/selectr/ Report bugs for this package: https://github.com/sjp/selectr/issues

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages