Skip to main content

A Python interface to xmlsq.

Project description

The utility xmlsq performs simple and full XPath 1.0 queries on an XML document.

>>> import xmlsq
>>> xml = r"<a><b foo='baz'>hello</b><b>world</b><e /></a>"
>>> xmlsq.get_text(xml, "//b")
'hello'
>>> xmlsq.get_text(xml, "//b[2]")
'world'
>>> xmlsq.full_query(xml, "//b")
'<b foo="baz">hello</b>\n<b>world</b>\n'
>>> xmlsq.get_text(xml, "//b/@foo")
'baz'
>>> xmlsq.full_query(xml, "//b/@foo")
'foo="baz"\n'
>>> xmlsq.full_query(xml, "/a", xmlsq.Opts.RAW)
'<a><b foo="baz">hello</b><b>world</b><e/></a>'
>>> xmlsq.count(xml, "//b")
2
>>> xmlsq.count(xml, "//notthere")
0
>>> xmlsq.count(xml, "//e")
1
>>> xmlsq.full_query(xml, "2+3.5")
'5.500000'

xmlsq.get_text() extracts the text value of the first node found selected by the query.

xmlsq.full_query() outputs the result of the full XPath 1.0 query as a string.

xmlsq.count() computes the integer value of count(query).

For xmlsq.get_text() and xmlsq.count() the query must evaluate to a node. xmlsq.full_query() accepts any valid XPath 1.0 expression and returns the result as a string.

For full details of all available methods and options, please see the documentation.

System requirements

Windows platform with Python 3. Requires the Windows native library diXmlsq.dll to be installed on your system, available from https://www.cryptosys.net/xmlsq/.

Acknowledgment

This software is based on the pugixml library (https://pugixml.org). Pugixml is Copyright (C) 2006-2019 Arseny Kapoulkine.

Contact

For more information or to make suggestions, please contact us at https://cryptosys.net/contact/

David Ireland
DI Management Services Pty Ltd
Australia
5 June 2020

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

xmlsq-0.9.0a1.zip (8.8 kB view details)

Uploaded Source

File details

Details for the file xmlsq-0.9.0a1.zip.

File metadata

  • Download URL: xmlsq-0.9.0a1.zip
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.1 requests/2.18.3 setuptools/36.2.7 requests-toolbelt/0.8.0 tqdm/4.15.0 CPython/2.7.12

File hashes

Hashes for xmlsq-0.9.0a1.zip
Algorithm Hash digest
SHA256 01d5a88cb5a9296325e6891a8a2fb11a1f89aafca39386f5aaa5e3b1c34dddeb
MD5 4ff421362a07e87e4d1b3dc60521a382
BLAKE2b-256 a60bd07001c6a421283142067825090a5ac65e1e579f2208b7c87135ad2b9190

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