I was looking for a better (well documented and efficient) xml processing C library.
¿ Ideas ?
I was looking for a better (well documented and efficient) xml processing C library.
¿ Ideas ?
I think you have to define what "better" means to you first. Better in what way? Performance? Ease of API use?
I think the documentation of libxml2 is not perfect, it's pretty useful. Especially if you use the Code examples.
Maybe you can give some explanation what you miss in the documentation?
I've no experience with the (lack of) performance in libxml2. Actually, I think the (derived) libxslt parser (xsltproc) is pretty fast, but that's probably because the java-alternatives have to read-in the VM first.
You can also write your own XML parser, tune it in the way where you need the speed. It's always a bit of a trade-off: How much time do I spent reading the documentation and examine how it works, and how much work is it to write my own XML read-in routines?
Improving libxml2 so it suits your needs might even be the best, open source friendly, solution but may cost the most time.
I find the libxml2 quite well-documented (and it is in common use, which means that you easily find examples).
Also, I find its performance quite good. Faster than libxml2, you have event-based parsers but they are much less convenient for the programmer.
I don't know about performance (I haven't used either), but Apache Xerces is quite popular. It's C++ though.
There's also RapidXML, which is supposedly crazy-fast and compact. RapidXML is also C++.
Finally, there's Expat.