Skip to main content

Enhance minidom in order to have ordered (instead of sorted) attributes, and a 'getElementsByAttributeName' method

Project description

This module enhances minidom and will allow you to have ordered attributes instead of having them sorted automaticaly.

It is relevent in the fact that you may want to script the loading/modification/saving of xml files and then print out a diff. with the normal minidom since attributes are sorted automaticaly you can have an unwanted diff for each unchaged line just because the order of the attributes changed.

once you load this module, just use minidom normaly.

example:

>>> from xml.dom import minidom
>>> import enhancedminidom

then use minidom normaly except that:

  • Document and Element classes have a ‘getElementsByAttributeName’ method which can be verry handy.

  • ‘toxml’ and ‘toprettyxml’ will print attributes in the order they are created/loaded if ‘minidom.SORTEDATTRIBUTES = False’ (default)

example to get all nodes having a “foo” attribute:

>>> document = minidom.parse('yourfile.xml')
>>> nodes_with_foo = document.getElementsByAttributeName('foo')

example to get all nodes having a “foo” attribute if they are in a “fum” tag:

>>> document = minidom.parse('yourfile.xml')
>>> nodes_with_foo = document.getElementsByAttributeName('foo', 'fum')

Release Notes :

Release 0.1:

First Version

Release 0.2:

Fixed a typo in this doc

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

enhancedminidom-0.2.zip (3.0 kB view details)

Uploaded Source

File details

Details for the file enhancedminidom-0.2.zip.

File metadata

  • Download URL: enhancedminidom-0.2.zip
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for enhancedminidom-0.2.zip
Algorithm Hash digest
SHA256 a25bc181a71ba7e9814ee5d71a07ed7327faed195376d3f276c1c7f0da156ea1
MD5 e67a57d9e1049d7e6d7260687231a210
BLAKE2b-256 df76a194e4942036e9cc3fc06d2386f68aebe874dbda77162b7f984cac7b537f

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