Skip to main content

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()

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

If you're not sure about the file name format, learn more about wheel file names.

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

  • Download URL: xpath_expressions-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • 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-py3-none-any.whl
Algorithm Hash digest
SHA256 b1735044772bee6f0826a3f00e5cc9b7710de901f345e98a8ecd3df91f44792a
MD5 6bcab7c2e40ddd54b72c7bb3f8194384
BLAKE2b-256 51a1bf514394d1e2b804abe87d34f3bd2f95276f360172aff53b3a4f3173519c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 files

1.0.1

2 files

1.0.0

2 files

0.2.2

2 files

0.2.1

2 files

0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page