Skip to main content

NodeTree provides a clean, modern API for working with XML in Python.

Version 0.3 adds support for XML document parsing:

>>> import nodetree
>>> d = nodetree.Document('<article><p>Pre <b>Bold</b> Post</p></article>')
>>> d
<?xml version="1.0"?>
<article>
  <p>Pre <b>Bold</b> Post</p>
</article>
>>> str(d.root)
'<?xml version="1.0"?>\n<article><p>Pre <b>Bold</b> Post</p></article>\n'
>>> d.root[0]
<p>Pre <b>Bold</b> Post</p>
>>> d.root[0].pop()
' Post'
>>> d.root[0][0] = 'Plain Text vs '
>>> d.root
<article>
  <p>Plain Text vs <b>Bold</b></p>
</article>

XML streams (eg, XMPP) are also now supported with progressive parsing:

>>> import nodetree
>>> s = nodetree.Stream('<stream:stream xmlns="jabber:client" ' +
                        'xmlns:stream="http://etherx.jabber.org/streams">')
>>> s.send('<message><body>Hello, World!</body></message>')
>>> s.root.pop(0)
<message>
  <body>Hello, World!</body>
</message>
>>> s.send('<message><body>This works')
>>> s.root.pop(0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: incomplete branch
>>> s.send(' well</body></message>')
>>> s.root.pop(0)
<message>
  <body>This works well</body>
</message>

This release also adds support for ProcessingInstruction nodes and fixes several bugs regarding XML branch splicing and merging.

Metadata

Release files for NodeTree 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for NodeTree 0.3
File Size Uploaded
NodeTree-0.3.tar.bz2 32.4 kB Details

Release files / NodeTree-0.3.tar.bz2

Download URL NodeTree-0.3.tar.bz2
Size 32.4 kB
Tags Source
SHA-256 checksum
How to use checksums
51bdb3e436fce84299c085e49343041553a8d699810a658a9c7857bf1486b0d7
BLAKE2b-256 checksum
How to use checksums
1837c38682a06471e3e2e819f8746a819edd90d45ef028c13964eae3b42c2ad9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3 This release

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page