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/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01d5a88cb5a9296325e6891a8a2fb11a1f89aafca39386f5aaa5e3b1c34dddeb |
|
MD5 | 4ff421362a07e87e4d1b3dc60521a382 |
|
BLAKE2b-256 | a60bd07001c6a421283142067825090a5ac65e1e579f2208b7c87135ad2b9190 |