Metadata-Version: 1.1
Name: easy-xml
Version: 0.5.0
Summary: EasyXML is a simple object representation of an XML document.
Home-page: https://github.com/darkfoxprime/python-easy_xml
Author: Johnson Earls
Author-email: johnson.earls@oracle.com
License: ISC
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 (``&lt;``, ``&gt;``, and ``&amp;``)
          is performed.
Keywords: xml
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: ISC License (ISCL)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.3
Classifier: Programming Language :: Python :: 2.4
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: Markup :: XML
