My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

This library is minimum, easy-to-use, C implementation for xml file parsing.

contact: tristan.lelong@libroxml.net

Official webpage and documentation is available at http://www.libroxml.net

Debian user can go to http://debian.libroxml.net for debian mirror and packages

Why libroxml?

Because XML parsing is always hard to reinvent

Because very often, xml libraries are too big to fit with little application

To be sure libroxml will stay easy to use, I'll limit the public API to 30 functions. This is quite enought for basic needs, and most of the time, we don't need more.

Currently 22 functions are part of the public API and library binary is about 50Ko.

see libroxml performances

What's happening Now

Since 2012-03-09 Libroxml source code is using GIT

Since 2011-09-22 Libroxml is packaged in openembedded.

Since 2011-07-13 Libroxml is packaged in buildroot.

libroxml is now quite stabilized. SVN version should not break everything. It is of course always more carefull to use packages from download section, but SVN checkout gives you the benefits of lastest bug fixes.

What can do libroxml version 1.x ?

It allow you to easily:

  • load / unload document from files
  • load / unload document from buffer
  • navigate thru the xml tree using libroxml C/C++ API
  • read attributes and attributes' values for nodes
  • get content of nodes
  • use basic XPath expressions (more to come)

What do libroxml version 2.x add ?

It allow you to easily:

  • use more XPath expressions, see xpath list (and still more to come)
  • modifications on the loaded XML tree
  • applying modification from the loaded XML tree to a file or buffer

What more do libroxml provide?

It also includes:

  • a mini XPath resolver roxml to parse xml files from shell scripts directly.
  • unit tests for all of the API functions
  • binary for performance measure

MORE

libroxml now provide a fuse module that allow you to attach an XML file to a mount point and navigate inside as if you were on a real file system.

  • each node is a directory
  • each attribute is a file
  • text content of a node is a special file named content.data

This allow you to navigate using XPath syntax such as:

cd /rss[@version=2.0]/channel/item["last()"]/title

I'm not sure it's very usefull yet, but at least it's funny. If anyone find something to do with it, please contact me...

Powered by Google Project Hosting