Skip to main content

Treat XPath expressions as Python objects

Project description

XPath-expressions

https://travis-ci.org/orf/xpath-expressions https://pypi.org/project/xpath-expressions/

This is a small, lightweight Python 3.5+ library to aide in the manipulations of xpath expressions. It allows you to manipulate them as Python objects with Python expressions and operators.

Install

pip install xpath-expressions

Quickstart

from xpath import Expression, Attribute

root_node = Expression('/root')
print(root_node.children)                 # /root/*
print(root_node.name)                     # name(/root)
print(root_node.attributes[1])            # /root/@*[1]
print(root_node / 'abc' / 'def')          # /root/abc/def

# Filtering expressions:
print(root_node.text == 'abc')            # /root/text()='abc'

expr = Attribute('abc') == 'def'
print(expr)                               # @abc='def'
print(root_node.children[expr])           # /root/*[@abc='def']

# The library handles quoting for you:
expr = Attribute('abc') == "def'"
filtered2 = root_node.children[expr]      # /root/*[@abc="def'"]

# You can use xpath functions:
from xpath import func
# Pass arguments like usual
expr = func.string_length(root_node.name)
print(expr)                               # string-length(name(/root/))

# And treat those as normal expressions
print(expr == 5)                          # string-length(name(/root/)) == 5

# The library normalizes python reserved names:
print(func.or_())                         # or()

# Use custom namespaces
from xpath import Functions
ns_functions = Functions('my-ns:')
print(ns_functions.something())           # my-ns:something()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xpath-expressions-1.0.2.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

xpath_expressions-1.0.2-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file xpath-expressions-1.0.2.tar.gz.

File metadata

  • Download URL: xpath-expressions-1.0.2.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.7 Darwin/19.4.0

File hashes

Hashes for xpath-expressions-1.0.2.tar.gz
Algorithm Hash digest
SHA256 03cd059ebd4b0b4fb5ee3924d88c7269233cc55de3857ad415d33936c6b1c27a
MD5 da8ee1570e47b233e1f3fadfe746d55b
BLAKE2b-256 2dc846e6efccaef9ed5b76077ec6ee0e97163b11a4b87d8c2a85b23294dc76a3

See more details on using hashes here.

File details

Details for the file xpath_expressions-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for xpath_expressions-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b1735044772bee6f0826a3f00e5cc9b7710de901f345e98a8ecd3df91f44792a
MD5 6bcab7c2e40ddd54b72c7bb3f8194384
BLAKE2b-256 51a1bf514394d1e2b804abe87d34f3bd2f95276f360172aff53b3a4f3173519c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page