C++ XML Parser

Sam Varshavchik mrsam at courier-mta.com
Thu Jan 4 02:38:19 UTC 2007


Mike - EMAIL IGNORED writes:

> On Wed, 03 Jan 2007 13:30:18 -0500, Dmitriy Kropivnitskiy wrote:
> 
>> James Kosin wrote:
> [...]
>>> 
>>> An XML parser is more or less a text parser.
>>> Usually best to write your own.  It is very simple design and
>>> straightforward.
>> 
>> Yikes! This is a very bad suggestion. The idea behind standards like XML is to have standard tools to work with them, thus eliminating repeating the 
>> same mistakes in every implementation. You don't go writing a new regular expression parser every time you need regexes do you? To answer the original 
>> email, there are a few XML parsers in common use out there. The main ones for UNIX are probably libxml and expat.
>> 
> 
> I agree with both of the quoted sentiments. I took a look at one of
> the recommended parsers, and decided that it would take a while to
> install it and figure out how to use it.  However, since:
>    1) I already have a well tested general token parser;
>    2) my present XML requirement is close to the most trivial
>       possible;
> I parsed it directly, with numerous application-specific tests
> for validity.  In a couple of hours, it is tested and running.
> 
> However, for general application, the use of software conforming
> standards is certainly preferable.  There seems to be a number of
> choices.
> 
> How to choose?

Well, I don't know what you evaluated, but late last year I had to through 
together a C++ XML parser.  I remember looking at libxml a long time ago, so 
this time around I looked at it again.

I found that the current version of libxml2 had a new parsing API that was 
laughably easy to use directly, or wrap into a C++ class.  It was laughably 
easy for me to wrap it up into a class, and get a robust parser with full 
namespace support.  I could refer to the individual nodes and attributes by 
uri/name pair directly, without dealing with the headaches of implementing 
and tracking namespaces.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.fedoraproject.org/pipermail/users/attachments/20070103/0b4d3dec/attachment-0002.bin 


More information about the users mailing list