EasyXML is a simple object representation of an XML document.
Project description
EasyXML presents a simplified view of an XML document.
Elements in the XML document, including the root-level document, are represented by EasyXML objects. Each EasyXML object has a _name attribute holding the name of the element represented by the EasyXML object, a dictionary called _attrs holding the element’s attributes, and a sequence called _content holding the content of the element. The _content sequence contains strings for the character data within the element (with whitespace stripped from the beginning and end), and other EasyXML objects for nested XML elements.
The content of the EasyXML object can be accessed directly as if it were a sequence itself. In addition, the element’s attributes themselves may be accessed by name on the EasyXML object.
For example, the XML fragment <zip code="12345">Schenectady, NY</zip> would be returned as an EasyXML object where name.``_name`` is 'zip', name.``_attrs`` is {'code': '12345'}, name. _content is ['Schenectady, NY'], name.``code`` is '12345', and name.``[0]`` is 'Schenectady, NY'.
Usage:
# Import the EasyXML class from easy_xml import EasyXML # Parse the file-like object `stream` into an EasyXML structure. xmldoc = EasyXML.parseXML(stream) # Find the first ``<hello>`` node in the document. # If it exists, record its content in the `hello` variable. # If not, record ``world`` in `hello`, and create a new # ``<hello>world</hello>`` XML element at the top of the document. for element in xmldoc: if isinstance(element,EasyXML) and element._name == 'hello': hello = ' '.join(element._content) break if hello is None: hello = 'world' element = EasyXML('hello', content=[hello]) xmldoc._content.insert(0, element) # Convert the EasyXML structure back into a valid XML document. xmlfile = str(xmldoc)
Notes:
Processing instructions and comments are ignored.
Only basic entity processing (<, >, and &) is performed.
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
Built Distribution
File details
Details for the file easy_xml-0.7.0.tar.gz
.
File metadata
- Download URL: easy_xml-0.7.0.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6509524d92700555044a9ebb7533fa35d0b23f05fd092b5f5810a2afdbf0817a |
|
MD5 | 5ad727c6034db29686e65dd5258df83f |
|
BLAKE2b-256 | 21018a7032bffdb539b3ec30b4857f7ef5758b9cf135cd7555c715ead3d51f5f |
File details
Details for the file easy_xml-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: easy_xml-0.7.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ab4ef0a509198a18572b33ca5c2950e3e2d6858caca8b31417728881d8efa94 |
|
MD5 | b90cc883e98d4480c5d1b93c25ecf0a4 |
|
BLAKE2b-256 | 92e91433d0a9880fd9c2d9af57fb87d7c2d7af1edf6794521ea1b54b325c507d |