Treat XPath expressions as Python objects
pip install xpath-expressions
This is a small, lightweight Python 3.5+ library to aide in the manipulations of xpath expressions, allowing you to manipulate them as Python objects with Python expressions. For example:
from xpath import Expression as E, Attribute as A root_node = E('/root') all_children = root_node.children # /root/* root_node_name = root_node.name # name(/root) an_attribute = root_node.attributes # /root/@* attrs = A('abc') == 'def' # @abc='def' filtered = root_node.children[attrs] # /root/*[@abc='def'] # The library handles quoting for you: attr2 = A('abc') == "def'" filtered2 = root_node.children[attrs] # /root/*[@abc="def'"] # You can also use xpath functions: from xpath.functions import string_length length = string_length(root_node.name) # string-length(name(/root/)) is_length_5 = length == 5 # string-length(name(/root/)) == 5
There is a lot more you can do, check out the main Expression class.
Not all functions are defined in the xpath.functions` module. To add your own, simply define: ``myfunc = Function('my-func'). Please make a merge request if you want some more added to the library!
Manipulating xpath expressions as strings is error-prone and annoying. This library makes it really simple.
It was split out from XCat into a separate module.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for xpath_expressions-0.2.2-py3-none-any.whl