python bindings for RapidXml, a C++ XML parsing library
  • C++ 89%
  • Python 10.2%
  • C 0.8%
Find a file
2025-11-06 00:36:46 +01:00
rapidxml fix Python buffers & C++ doc leaks, add modern Python support (fixes #7) (#9) 2025-11-06 00:06:12 +01:00
tests fix argparsing & py3.5/py3.6 compat 2017-05-24 15:53:59 +02:00
.gitignore first import 2015-04-11 10:57:49 +09:00
.travis.yml 3.6 & unused include 2017-05-24 10:31:19 +02:00
LICENSE Initial commit 2015-04-11 10:53:25 +09:00
MANIFEST.in version bump 2015-04-23 13:20:27 +09:00
README.md fix Python buffers & C++ doc leaks, add modern Python support (fixes #7) (#9) 2025-11-06 00:06:12 +01:00
setup.py remove readme markdown to rst conversion 2025-11-06 00:36:46 +01:00
test-requirements.txt fix Python buffers & C++ doc leaks, add modern Python support (fixes #7) (#9) 2025-11-06 00:06:12 +01:00

python_rapidxml

A library providing python bindings for rapidxml

Example

import rapidxml

r = rapidxml.RapidXml(b"<test/><test2>foo</test2><test></test>") # parsing from bytes
test = r.first_node("test") # get first node named test
test.name = "foo" # changing node's name to foo
r.first_node("test2").value = "bar" # changing node's value to bar

print(str(r)) # will output a prettified string of the xml document
print(r.unparse(pretty=False, raw=True)) # will output the xml document as flat bytes
print(test) # also works for nodes

with open('dump.xml', 'w') as f:
    f.write(str(r))
r = rapidxml.RapidXml("dump.xml", from_file=True) # loading from file

assert(str(r) == r.unparse(pretty=True, raw=False)) # is always True
assert(repr(r) == r.unparse(pretty=False, raw=False)) # also always True

Install

Latest Version Supported Python Versions

If you have downloaded the source code:

python setup.py install

or if you want to obtain a copy from the Pypi repository:

pip install rapidxml

Both commands will install the required package dependencies.

A distribution package can be obtained for manual installation at:

http://pypi.python.org/pypi/RapidXml

Source

python_rapidxml's git repo is available on GitHub, which can be browsed at github and cloned like that:

git clone https://github.com/Arzaroth/python_rapidxml.git

License

MIT license. See the LICENSE file.